-
Notifications
You must be signed in to change notification settings - Fork 0
/
SQLBasedSupplier.py
51 lines (42 loc) · 1.37 KB
/
SQLBasedSupplier.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# -*- coding: utf-8 -*-
from lib import Logger
from BaseSupplier import BaseSupplier
from lib import DBFactory
class SQLBasedSupplier(BaseSupplier):
def __init__(self, tag, db_name, sql, cachable=False):
BaseSupplier.__init__(self)
self.name = "SQLBaseSupplier"
self.tag = tag
self.sql = sql
self.db_name = db_name
self.cachable = cachable
def tryGet(self):
db = None
try:
db = DBFactory.getInstance(self.db_name)
if db is None:
Logger.f(self.id(), "not suitable db instance: db=None")
return None
#Logger.d(self.id(), "[SQL]" + self.sql)
i = 0
tmp = self.sql.strip(';').split(';')
sqls = []
for sql in tmp:
if sql is None:
continue
if sql.strip() == '':
continue
sqls.append(sql)
while i < len(sqls) - 1:
Logger.d(self.id(), sqls[i])
cursor = db.cursor()
cursor.execute(sqls[i])
cursor.close()
i = i + 1
Logger.d(self.id(), sqls[i])
cursor = db.cursor()
cursor.execute(sqls[i])
res_list = cursor.fetchall()
return res_list
finally:
test = 0