本文整理匯總了Python中db.DB.getConnDB方法的典型用法代碼示例。如果您正苦於以下問題:Python DB.getConnDB方法的具體用法?Python DB.getConnDB怎麽用?Python DB.getConnDB使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類db.DB
的用法示例。
在下文中一共展示了DB.getConnDB方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: Cacher
# 需要導入模塊: from db import DB [as 別名]
# 或者: from db.DB import getConnDB [as 別名]
class Cacher(object):
u"""Система кеширования запросов"""
# Соединение с БД
__conn = {'connection':None, 'cursor':None}
_log = None
_db = None
# Счетчик выполняющихся в данный момент запросов
__query = 0
def __init__(self):
self._log = Logger()
self._db = DB()
def getStations(self, stationName):
u"""Возвращает станции начинающиеся со строки"""
self._db.execute('''SELECT * FROM `Stations` WHERE `Name` LIKE %s ORDER BY `S` DESC LIMIT 100''',
("%" + stationName + "%"))
return self._db.getFetchAll(True)
def setStations(self, stations):
u'''Сохранение станций в кеше'''
data = []
for station in stations:
data.append('("%s","%s","%s","%s")' % (station['c'], station['n'], station['S'], station['L']))
self._db.execute('''INSERT IGNORE INTO `Stations` (`Code`, `Name`, `S`, `L`) VALUES %s''' % ','.join(data))
self._db.getConnDB().commit()
示例2: Task
# 需要導入模塊: from db import DB [as 別名]
# 或者: from db.DB import getConnDB [as 別名]
class Task(object):
u"""
Класс управления заданиями
Позволяет добавлять и удалять задания из очереди
"""
_db = None
# Логи
_log = None
# РЖД модуль
_rzd = None
# Словарь имен вызванных логов для partial
_logNamesPart = {}
def __init__(self):
self._log = Logger()
self._db = DB()
self._rzd = RZD()
def __getattr__(self, name):
try:
return self._logNamesPart[name]
except KeyError:
obj = getattr(self._log, name)
if obj is not None:
part = partial(obj, moduleName=self.__class__.__name__)
self._logNamesPart[name] = part
return part
else:
self._log.error('Попытка вызова несуществующего типа лога "%s"',
name, moduleName=self.__class__.__name__)
def cnt(self):
u'''
Получение количества активных заданий в системе
@return int
'''
self._db.execute('''SELECT COUNT(*) FROM `Tasks` WHERE `Complete`=%s''',
IN_PROGRESS)
return int(self._db.getFetchOne()[0])
def add(self, src, dst, date, phone, type):
u'''Добавление нового задания в очередь'''
limit = config.getint('system', 'taskLimit')
if limit > self.cnt():
self._rzd.getTrains(src, dst, date)
self._db.execute('''INSERT INTO `Tasks` SET `Phone`=%s, `Src`=%s,
`Dst`=%s, `Date`=%s, `Type`=%s, `DateTimeCreate`=NOW(), `DateTimeCheck`=null, `Complete`=0''',
phone, int(src), int(dst), date, type)
self._db.getConnDB().commit()
self.debug('Клиент %s добавил новую заявку', phone)
else:
self.error('Система не может принять %d-ю заявку', self.cnt())
raise Exception('Достигнут лимит количества активных заданий в системе')