OSDN Git Service

add README.md
[ti2/ti2.git] / linkpair / dbutils.py
1 # vim: tabstop=4 shiftwidth=4 softtabstop=4
2 # -*- coding: utf-8 -*-
3 #
4
5 __version__ = '1.1'
6
7 import sys
8
9
10 class DBUtils(object):
11
12     def __init__(self):
13         self._db_enable = False
14         self._sql_conn = None
15
16     def create_tables(self):
17         if self._db_enable:
18             sql = "create table linkpair_table" + \
19                 "(fmt text, src text, src_style text, label text, dst text, dst_style text)"
20             sql_conn.execute(sql)
21             sql_conn.commit()
22
23     def insert_record(self, fmt, src, src_style, label, dst, dst_style):
24         sql_q1 = '\''
25         sql_q2 = '\','
26         sql = 'insert into linkpair_table values(' \
27             + sql_q1 + fmt + sql_q2 \
28             + sql_q1 + src + sql_q2 \
29             + sql_q1 + src_style + sql_q2 \
30             + sql_q1 + label + sql_q2 \
31             + sql_q1 + dst + sql_q2 \
32             + sql_q1 + dst_style + '\')'
33         sql_conn.execute(sql)
34
35     def store_to_db(self, db_name, linkpairs):
36         json_strings = ""
37         for linkpair in linkpairs:
38             json_strings = json_strings + linkpair.to_json() + ","
39         json_strings = json_strings.rstrip(",")
40
41         try:
42             json_file = open(db_name, 'w')
43             json_file.write("{\"linkpairs\": [")
44             json_file.write(json_strings)
45             json_file.write("]\n}")
46             json_file.close()
47         except:
48             print "error:", sys.exc_info()[0]
49             raise
50
51     def open_db(self, db_name):
52         import sqlite3
53         self._sqlconn = sqlite3.connect(db_name)
54         return self._sql_conn
55
56     def close_db(self):
57         if self._db_enable:
58             self._sql_conn.commit()
59             self._sql_conn.close()
60
61     def get_db_enable(self):
62         return self._db_enable
63
64     def set_db_enable(self, enable):
65         self._db_enable = enable
66
67     def del_db_enable(self):
68         del self._db_enable
69     db_enable = property(get_db_enable, set_db_enable, del_db_enable)