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.AttrSetTask.AttrSetTask Class Reference
Inheritance diagram for dc_db.AttrSetTask.AttrSetTask:
Collaboration diagram for dc_db.AttrSetTask.AttrSetTask:

Public Member Functions

def __init__ (self)
 
def process (self, attrs, queryCallback)
 
def selectAttribute (self, attrObject, queryCallback)
 
def addAttribute (self, attrObject, queryCallback)
 
def updateAttribute (self, attrObject, queryCallback)
 
- 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)
 

Static Public Attributes

int CODE_GOOD_INSERT = 0
 
int CODE_BAD_INSERT = 1
 
int CODE_ALREADY_EXIST = 2
 
int CODE_SITE_NOT_EXIST = 3
 

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 AttrSetTask.py.

Constructor & Destructor Documentation

◆ __init__()

def dc_db.AttrSetTask.AttrSetTask.__init__ (   self)

Definition at line 28 of file AttrSetTask.py.

28  def __init__(self):
29  super(AttrSetTask, self).__init__()
30 
31 
def __init__(self)
constructor
Definition: UIDGenerator.py:19

Member Function Documentation

◆ addAttribute()

def dc_db.AttrSetTask.AttrSetTask.addAttribute (   self,
  attrObject,
  queryCallback 
)

Definition at line 73 of file AttrSetTask.py.

73  def addAttribute(self, attrObject, queryCallback):
74  ret = False
75  fields, values = Constants.getFieldsValuesTuple(attrObject, Constants.AttrTableDict)
76  fieldValueString = Constants.createFieldsValuesString(fields, values)
77  if fieldValueString is not None and fieldValueString != "":
78  query = Constants.INSERT_COMMON_TEMPLATE % ((Constants.DC_ATT_TABLE_NAME_TEMPLATE % attrObject.siteId),
79  fieldValueString)
80  queryCallback(query, Constants.ATT_DB_ID, Constants.EXEC_NAME, True)
81  ret = True
82 
83  return ret
84 
85 
Here is the caller graph for this function:

◆ process()

def dc_db.AttrSetTask.AttrSetTask.process (   self,
  attrs,
  queryCallback 
)

Definition at line 37 of file AttrSetTask.py.

37  def process(self, attrs, queryCallback):
38  ret = GeneralResponse()
39  for attr in attrs:
40  if self.isSiteExist(attr.siteId, queryCallback):
41  if self.selectAttribute(attr, queryCallback):
42  ret.statuses.append(AttrSetTask.CODE_ALREADY_EXIST)
43  self.updateAttribute(attr, queryCallback)
44  elif self.addAttribute(attr, queryCallback):
45  ret.statuses.append(AttrSetTask.CODE_GOOD_INSERT)
46  else:
47  ret.statuses.append(AttrSetTask.CODE_BAD_INSERT)
48  else:
49  ret.statuses.append(AttrSetTask.CODE_SITE_NOT_EXIST)
50  return ret
51 
52 
Here is the call graph for this function:
Here is the caller graph for this function:

◆ selectAttribute()

def dc_db.AttrSetTask.AttrSetTask.selectAttribute (   self,
  attrObject,
  queryCallback 
)

Definition at line 57 of file AttrSetTask.py.

57  def selectAttribute(self, attrObject, queryCallback):
58  ret = False
59  LOCAL_URL_CHECK_QUERY = "SELECT COUNT(*) FROM `att_%s` WHERE `Name` = '%s' AND `URLMd5` = '%s'"
60  query = LOCAL_URL_CHECK_QUERY % (attrObject.siteId, attrObject.name,
61  attrObject.urlMd5 if attrObject.urlMd5 is not None else "")
62  res = queryCallback(query, Constants.ATT_DB_ID)
63  if hasattr(res, '__iter__') and len(res) > 0 and len(res[0]) > 0 and res[0][0] > 0:
64  ret = True
65 
66  return ret
67 
68 
Here is the caller graph for this function:

◆ updateAttribute()

def dc_db.AttrSetTask.AttrSetTask.updateAttribute (   self,
  attrObject,
  queryCallback 
)

Definition at line 90 of file AttrSetTask.py.

90  def updateAttribute(self, attrObject, queryCallback):
91  UPDATE_TEMPLATE = "UPDATE `att_%s` SET `Value` = '%s' WHERE `Name` = '%s' AND `URLMd5` = '%s'"
92  query = UPDATE_TEMPLATE % (attrObject.siteId, Utils.escape(attrObject.value), attrObject.name,
93  attrObject.urlMd5 if attrObject.urlMd5 is not None else "")
94  queryCallback(query, Constants.ATT_DB_ID, Constants.EXEC_NAME, True)
95 
Here is the caller graph for this function:

Member Data Documentation

◆ CODE_ALREADY_EXIST

int dc_db.AttrSetTask.AttrSetTask.CODE_ALREADY_EXIST = 2
static

Definition at line 23 of file AttrSetTask.py.

◆ CODE_BAD_INSERT

int dc_db.AttrSetTask.AttrSetTask.CODE_BAD_INSERT = 1
static

Definition at line 22 of file AttrSetTask.py.

◆ CODE_GOOD_INSERT

int dc_db.AttrSetTask.AttrSetTask.CODE_GOOD_INSERT = 0
static

Definition at line 21 of file AttrSetTask.py.

◆ CODE_SITE_NOT_EXIST

int dc_db.AttrSetTask.AttrSetTask.CODE_SITE_NOT_EXIST = 3
static

Definition at line 24 of file AttrSetTask.py.


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