HCE Project Python language Distributed Tasks Manager Application, Distributed Crawler Application and client API bindings.  2.0.0-chaika
Hierarchical Cluster Engine Python language binding
dc_db.URLStatusTask.URLStatusTask Class Reference
Inheritance diagram for dc_db.URLStatusTask.URLStatusTask:
Collaboration diagram for dc_db.URLStatusTask.URLStatusTask:

Public Member Functions

def __init__ (self)
 
def process (self, urlStatuses, queryCallback)
 
def getURL (self, urlStatus, queryCallback)
 
def fillUrlsList (self, res, urlType, urlDict)
 
- Public Member Functions inherited from dc_db.BaseTask.BaseTask
def isSiteExist (self, siteId, queryCallback, userId=None)
 
def generateCriterionSQL (self, criterions, additionWhere=None, siteId=None)
 
def fetchByCriterions (self, criterions, queryCallback)
 
def dbLock (self, mutexName, queryCallback, sleepTime=1, mutexLockTTL=Constants.DEFAULT_LOCK_TTL)
 
def dbUnlock (self, mutexName, queryCallback)
 
def createUrlsInsertQuery (self, siteId, localKeys, localValues)
 
def copyUrlsToDcUrls (self, siteId, queryCallback)
 
def statisticLogUpdate (self, localObj, urlMd5, siteId, status, queryCallback, isInsert=False)
 
def calculateMd5FormUrl (self, url, urlType, useNormilize=False)
 

Additional Inherited Members

- Static Public Member Functions inherited from dc_db.BaseTask.BaseTask
def readValueFromSiteProp (siteId, propName, queryCallback, urlMd5=None)
 

Detailed Description

Definition at line 19 of file URLStatusTask.py.

Constructor & Destructor Documentation

◆ __init__()

def dc_db.URLStatusTask.URLStatusTask.__init__ (   self)

Definition at line 23 of file URLStatusTask.py.

23  def __init__(self):
24  pass
25 
26 
def __init__(self)
constructor
Definition: UIDGenerator.py:19

Member Function Documentation

◆ fillUrlsList()

def dc_db.URLStatusTask.URLStatusTask.fillUrlsList (   self,
  res,
  urlType,
  urlDict 
)

Definition at line 64 of file URLStatusTask.py.

64  def fillUrlsList(self, res, urlType, urlDict):
65  ret = []
66  if hasattr(res, '__iter__'):
67  for row in res:
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)
78  ret.append(url)
79  else:
80  logger.error(">>> SQL Select return NULL or not itereble")
81  return ret
Here is the caller graph for this function:

◆ getURL()

def dc_db.URLStatusTask.URLStatusTask.getURL (   self,
  urlStatus,
  queryCallback 
)

Definition at line 46 of file URLStatusTask.py.

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)
54 
55  urls = self.fillUrlsList(res, dc.EventObjects.URL, Constants.URLTableDict)
56  return urls
57 
58 
Here is the call graph for this function:
Here is the caller graph for this function:

◆ process()

def dc_db.URLStatusTask.URLStatusTask.process (   self,
  urlStatuses,
  queryCallback 
)

Definition at line 32 of file URLStatusTask.py.

32  def process(self, urlStatuses, queryCallback):
33  urls = []
34  for urlStatus in urlStatuses:
35  # @todo add more complex case
36  if self.isSiteExist(urlStatus.siteId, queryCallback):
37  urls.extend(self.getURL(urlStatus, queryCallback))
38  return urls
39 
40 
Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following file: