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
app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor Class Reference
Inheritance diagram for app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor:
Collaboration diagram for app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor:

Classes

class  Meta
 

Public Member Functions

def __init__ (self)
 
def setup (self)
 
def run (self)
 
def getURLFetchJson (self)
 
def createOutputPickle (self, inputUrlFetchJson)
 
def sendToDbTask (self, outputPickle)
 
def sendPickle (self, output_pickle)
 
def process (self)
 

Public Attributes

 logger
 
 exitCode
 
 cmd
 

Static Public Attributes

string CMD_DEFAULT = "cd ~/hce-node-bundle/api/python/bin && ./db-task.py --c=../ini/db-task.ini"
 
string MSG_ERROR_EMPTY_CONFIG_FILE_NAME = "Config file name is empty."
 
string MSG_ERROR_WRONG_CONFIG_FILE_NAME = "Config file name is wrong"
 
string MSG_ERROR_LOAD_APP_CONFIG = "Error loading application config file."
 
string MSG_ERROR_READ_LOG_CONFIG = "Error read log config file."
 
string MSG_ERROR_EXIT_STATUS = "Exit failure. "
 
string MSG_DEBUG_INPUT_PICKLE = "Input pickle: "
 
string MSG_DEBUG_OUTPUT_PICKLE = "Output pickle: "
 
string MSG_DEBUG_SEND_PICKLE = "Send pickle. Done."
 
string MSG_INFO_PROCESSOR_EXIT_CODE = "Scraper exit_code: "
 
string MSG_INFO_PROCESSOR_OUTPUT = "Scraper output: "
 
string MSG_INFO_PROCESSOR_ERROR = "Scraper err: "
 
string URLS_FETCH_JSON_TO_DBTASK_OPTION_LOG = "log"
 
string URLS_FETCH_JSON_TO_DBTASK_OPTION_CMD = "cmd"
 

Private Member Functions

def __initApp (self)
 
def __loadAppConfig (self, configName)
 
def __loadLogConfig (self, configName)
 

Detailed Description

Definition at line 37 of file UrlFetchJsonToDBTaskConvertor.py.

Constructor & Destructor Documentation

◆ __init__()

def app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.__init__ (   self)

Definition at line 70 of file UrlFetchJsonToDBTaskConvertor.py.

70  def __init__(self):
71  # call base class __init__ method
72  foundation.CementApp.__init__(self)
73 
74  self.logger = None
75  self.exitCode = APP_CONSTS.EXIT_SUCCESS
76  self.cmd = self.CMD_DEFAULT
77 
78 
def __init__(self)
constructor
Definition: UIDGenerator.py:19

Member Function Documentation

◆ __initApp()

def app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.__initApp (   self)
private

Definition at line 104 of file UrlFetchJsonToDBTaskConvertor.py.

104  def __initApp(self):
105  if self.pargs.config:
106  self.__loadLogConfig(self.__loadAppConfig(self.pargs.config))
107  else:
108  raise Exception(self.MSG_ERROR_LOAD_APP_CONFIG)
109 
110 
def __initApp(self, configName=None)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __loadAppConfig()

def app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.__loadAppConfig (   self,
  configName 
)
private

Definition at line 115 of file UrlFetchJsonToDBTaskConvertor.py.

115  def __loadAppConfig(self, configName):
116  # variable for result
117  confLogFileName = ""
118 
119  try:
120  config = ConfigParser.ConfigParser()
121  config.optionxform = str
122 
123  readOk = config.read(configName)
124 
125  if len(readOk) == 0:
126  raise Exception(self.MSG_ERROR_WRONG_CONFIG_FILE_NAME + ": " + configName)
127 
128  if config.has_section(APP_CONSTS.CONFIG_APPLICATION_SECTION_NAME):
129  confLogFileName = str(config.get(APP_CONSTS.CONFIG_APPLICATION_SECTION_NAME,
130  self.URLS_FETCH_JSON_TO_DBTASK_OPTION_LOG))
131  self.cmd = str(config.get(APP_CONSTS.CONFIG_APPLICATION_SECTION_NAME,
132  self.URLS_FETCH_JSON_TO_DBTASK_OPTION_CMD))
133 
134  except Exception, err:
135  raise Exception(self.MSG_ERROR_LOAD_APP_CONFIG + ' ' + str(err))
136 
137  return confLogFileName
138 
139 
Here is the caller graph for this function:

◆ __loadLogConfig()

def app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.__loadLogConfig (   self,
  configName 
)
private

Definition at line 144 of file UrlFetchJsonToDBTaskConvertor.py.

144  def __loadLogConfig(self, configName):
145  try:
146  if isinstance(configName, str) and len(configName) == 0:
147  raise Exception(self.MSG_ERROR_EMPTY_CONFIG_FILE_NAME)
148 
149  logging.config.fileConfig(configName)
150 
151  # call rotation log files and initialization logger
152  self.logger = Utils.MPLogger().getLogger()
153 
154  except Exception, err:
155  raise Exception(self.MSG_ERROR_READ_LOG_CONFIG + ' ' + str(err))
156 
157 
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createOutputPickle()

def app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.createOutputPickle (   self,
  inputUrlFetchJson 
)

Definition at line 165 of file UrlFetchJsonToDBTaskConvertor.py.

165  def createOutputPickle(self, inputUrlFetchJson):
166  eventType = DC_CONSTS.EVENT_TYPES.URL_FETCH
167  convertor = DCCObjectsSerializator()
168  eventObj = convertor.URLFetchDeserialize(inputUrlFetchJson)
169  self.logger.debug(self.MSG_DEBUG_OUTPUT_PICKLE + '\n' + str(eventObj))
170  drceSyncTasksCoverObj = DC_CONSTS.DRCESyncTasksCover(eventType, eventObj)
171  outputPickle = pickle.dumps(drceSyncTasksCoverObj)
172  self.logger.debug(self.MSG_DEBUG_OUTPUT_PICKLE + '\n' + str(outputPickle))
173 
174  return outputPickle
175 
176 
Here is the caller graph for this function:

◆ getURLFetchJson()

def app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.getURLFetchJson (   self)

Definition at line 158 of file UrlFetchJsonToDBTaskConvertor.py.

158  def getURLFetchJson(self):
159  inputUrlFetchJson = sys.stdin.read()
160  self.logger.debug(self.MSG_DEBUG_INPUT_PICKLE + '\n' + varDump(inputUrlFetchJson))
161 
162  return json.loads(inputUrlFetchJson)
163 
164 
def varDump(obj, stringify=True, strTypeMaxLen=256, strTypeCutSuffix='...', stringifyType=1, ignoreErrors=False, objectsHash=None, depth=0, indent=2, ensure_ascii=False, maxDepth=10)
Definition: Utils.py:410
Here is the call graph for this function:
Here is the caller graph for this function:

◆ process()

def app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.process (   self)

Definition at line 193 of file UrlFetchJsonToDBTaskConvertor.py.

193  def process(self):
194 
195  self.logger.info('self.cmd: ' + str(self.cmd))
196  try:
197  # chain of necessary calls for processing
198  self.sendPickle(self.sendToDbTask(self.createOutputPickle(self.getURLFetchJson())))
199  except Exception, err:
200  self.logger.error(self.MSG_ERROR_EXIT_STATUS + str(err))
201  self.exitCode = APP_CONSTS.EXIT_FAILURE
202 
-mask-info
Here is the call graph for this function:
Here is the caller graph for this function:

◆ run()

def app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.run (   self)

Definition at line 86 of file UrlFetchJsonToDBTaskConvertor.py.

86  def run(self):
87  # call base class run method
88  foundation.CementApp.run(self)
89 
90  # call initialization application
91  self.__initApp()
92 
93  # call internal processing
94  self.process()
95 
96  # Finish logging
97  self.logger.info(APP_CONSTS.LOGGER_DELIMITER_LINE)
98 
99 
Here is the call graph for this function:

◆ sendPickle()

def app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.sendPickle (   self,
  output_pickle 
)

Definition at line 188 of file UrlFetchJsonToDBTaskConvertor.py.

188  def sendPickle(self, output_pickle):
189  sys.stdout.write(output_pickle)
190  self.logger.debug(self.MSG_DEBUG_SEND_PICKLE)
191 
192 
Here is the caller graph for this function:

◆ sendToDbTask()

def app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.sendToDbTask (   self,
  outputPickle 
)

Definition at line 177 of file UrlFetchJsonToDBTaskConvertor.py.

177  def sendToDbTask(self, outputPickle):
178  process = Popen(self.cmd, stdout=PIPE, stdin=PIPE, shell=True, close_fds=True)
179  (output, err) = process.communicate(input=outputPickle)
180  self.exitCode = process.wait()
181  self.logger.info(self.MSG_INFO_PROCESSOR_EXIT_CODE + str(self.exitCode) + '\n' + \
182  self.MSG_INFO_PROCESSOR_OUTPUT + str(output) + '\n' + \
183  self.MSG_INFO_PROCESSOR_ERROR + str(err) + '\n' + str(pickle.loads(output)))
184 
185  return output
186 
187 
Here is the caller graph for this function:

◆ setup()

def app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.setup (   self)

Definition at line 80 of file UrlFetchJsonToDBTaskConvertor.py.

80  def setup(self):
81  # call base class setup method
82  foundation.CementApp.setup(self)
83 
84 

Member Data Documentation

◆ cmd

app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.cmd

Definition at line 76 of file UrlFetchJsonToDBTaskConvertor.py.

◆ CMD_DEFAULT

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.CMD_DEFAULT = "cd ~/hce-node-bundle/api/python/bin && ./db-task.py --c=../ini/db-task.ini"
static

Definition at line 40 of file UrlFetchJsonToDBTaskConvertor.py.

◆ exitCode

app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.exitCode

Definition at line 75 of file UrlFetchJsonToDBTaskConvertor.py.

◆ logger

app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.logger

Definition at line 74 of file UrlFetchJsonToDBTaskConvertor.py.

◆ MSG_DEBUG_INPUT_PICKLE

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.MSG_DEBUG_INPUT_PICKLE = "Input pickle: "
static

Definition at line 49 of file UrlFetchJsonToDBTaskConvertor.py.

◆ MSG_DEBUG_OUTPUT_PICKLE

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.MSG_DEBUG_OUTPUT_PICKLE = "Output pickle: "
static

Definition at line 50 of file UrlFetchJsonToDBTaskConvertor.py.

◆ MSG_DEBUG_SEND_PICKLE

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.MSG_DEBUG_SEND_PICKLE = "Send pickle. Done."
static

Definition at line 51 of file UrlFetchJsonToDBTaskConvertor.py.

◆ MSG_ERROR_EMPTY_CONFIG_FILE_NAME

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.MSG_ERROR_EMPTY_CONFIG_FILE_NAME = "Config file name is empty."
static

Definition at line 43 of file UrlFetchJsonToDBTaskConvertor.py.

◆ MSG_ERROR_EXIT_STATUS

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.MSG_ERROR_EXIT_STATUS = "Exit failure. "
static

Definition at line 47 of file UrlFetchJsonToDBTaskConvertor.py.

◆ MSG_ERROR_LOAD_APP_CONFIG

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.MSG_ERROR_LOAD_APP_CONFIG = "Error loading application config file."
static

Definition at line 45 of file UrlFetchJsonToDBTaskConvertor.py.

◆ MSG_ERROR_READ_LOG_CONFIG

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.MSG_ERROR_READ_LOG_CONFIG = "Error read log config file."
static

Definition at line 46 of file UrlFetchJsonToDBTaskConvertor.py.

◆ MSG_ERROR_WRONG_CONFIG_FILE_NAME

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.MSG_ERROR_WRONG_CONFIG_FILE_NAME = "Config file name is wrong"
static

Definition at line 44 of file UrlFetchJsonToDBTaskConvertor.py.

◆ MSG_INFO_PROCESSOR_ERROR

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.MSG_INFO_PROCESSOR_ERROR = "Scraper err: "
static

Definition at line 55 of file UrlFetchJsonToDBTaskConvertor.py.

◆ MSG_INFO_PROCESSOR_EXIT_CODE

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.MSG_INFO_PROCESSOR_EXIT_CODE = "Scraper exit_code: "
static

Definition at line 53 of file UrlFetchJsonToDBTaskConvertor.py.

◆ MSG_INFO_PROCESSOR_OUTPUT

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.MSG_INFO_PROCESSOR_OUTPUT = "Scraper output: "
static

Definition at line 54 of file UrlFetchJsonToDBTaskConvertor.py.

◆ URLS_FETCH_JSON_TO_DBTASK_OPTION_CMD

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.URLS_FETCH_JSON_TO_DBTASK_OPTION_CMD = "cmd"
static

Definition at line 59 of file UrlFetchJsonToDBTaskConvertor.py.

◆ URLS_FETCH_JSON_TO_DBTASK_OPTION_LOG

string app.UrlFetchJsonToDBTaskConvertor.UrlFetchToJsonDBTaskConvertor.URLS_FETCH_JSON_TO_DBTASK_OPTION_LOG = "log"
static

Definition at line 58 of file UrlFetchJsonToDBTaskConvertor.py.


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