OSDN Git Service

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