4 @link: http://hierarchical-cluster-engine.com/ 5 @copyright: Copyright © 2013-2014 IOIX Ukraine 6 @license: http://hierarchical-cluster-engine.com/license/ 11 from dc_db
import Constants
32 def process(self, urlStatuses, queryCallback):
34 for urlStatus
in urlStatuses:
36 if self.
isSiteExist(urlStatus.siteId, queryCallback):
37 urls.extend(self.
getURL(urlStatus, queryCallback))
46 def getURL(self, urlStatus, queryCallback):
47 URL_SELECT_SQL =
"SELECT * FROM `%s` WHERE %s" 48 tableName = Constants.DC_URLS_TABLE_NAME_TEMPLATE % urlStatus.siteId
49 WHERE_CLAUSE =
"URL = '%s'" 50 if urlStatus.urlType == dc.EventObjects.URLStatus.URL_TYPE_MD5:
51 WHERE_CLAUSE =
"URLMd5 = '%s'" 52 query = URL_SELECT_SQL % (tableName, WHERE_CLAUSE % (urlStatus.url))
53 res = queryCallback(query, Constants.SECONDARY_DB_ID, Constants.EXEC_NAME)
66 if hasattr(res,
'__iter__'):
68 if "Site_Id" in row
and "URL" in row:
69 url =
urlType(siteId=row[
"Site_Id"], url=row[
"URL"], normalizeMask=UrlNormalizator.NORM_NONE)
70 for field
in urlDict.keys():
71 if hasattr(url, field)
and urlDict[field]
in row:
72 setattr(url, field, row[urlDict[field]])
73 url.UDate = Constants.readDataTimeField(
"UDate", row)
74 url.CDate = Constants.readDataTimeField(
"CDate", row)
75 url.lastModified = Constants.readDataTimeField(
"LastModified", row)
76 url.tcDate = Constants.readDataTimeField(
"TcDate", row)
77 url.pDate = Constants.readDataTimeField(
"PDate", row)
80 logger.error(
">>> SQL Select return NULL or not itereble")
def isSiteExist(self, siteId, queryCallback, userId=None)
def process(self, urlStatuses, queryCallback)
def fillUrlsList(self, res, urlType, urlDict)
def getURL(self, urlStatus, queryCallback)