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
resources_manager_dbi_demo.py
Go to the documentation of this file.
1 #!/usr/bin/python
2 
3 
4 """
5 HCE project, Python bindings, Distributed Tasks Manager application.
6 Event objects definitions.
7 
8 @package: dtm
9 @file resources_manager_dbi_demo.py
10 @author Oleksii <developers.hce@gmail.com>
11 @link: http://hierarchical-cluster-engine.com/
12 @copyright: Copyright &copy; 2013-2014 IOIX Ukraine
13 @license: http://hierarchical-cluster-engine.com/license/
14 @since: 0.1
15 """
16 
17 
18 from dbi import DBI
19 from dbi import CONSTANTS
20 from Resources import Resources as dbResources
21 from EventObjects import Resource as eventResource
22 
23 class DemoResourcesManager(object):
24 
25 
26  def __init__(self, config_dic):
27  # create dbi instance
28  self.dbi = DBI(config_dic)
29 
30 
31  def updateResourcesData(self, updated_resources):
32  # insert one object
33  input_back_log_one_task = dbResources(updated_resources)
34  self.dbi.insert(input_back_log_one_task)
35  if self.dbi.getError() != CONSTANTS.DBI_SUCCESS_CODE:
36  # handle insertion's error
37  print "One insert error!"
38  return
39  else:
40  # do ptocessing after insertion
41  pass
42 
43 
44  # fetch one object
45  fetch_back_log_tasks = dbResources(updated_resources)
46  fetched_back_log_tasks = self.dbi.fetch(fetch_back_log_tasks, "nodeId=%s"%fetch_back_log_tasks.nodeId)
47  if self.dbi.getError() != CONSTANTS.DBI_SUCCESS_CODE:
48  # handle fetch's error
49  print "One fetch error!"
50  return
51  else:
52  # do ptocessing after insertion
53  pass
54  print fetched_back_log_tasks
55 
56 
57 
58  # fetch all for one object
59  fetch_back_log_tasks = dbResources(updated_resources)
60  fetched_back_log_tasks = self.dbi.fetchAll(fetch_back_log_tasks)
61  if self.dbi.getError() != CONSTANTS.DBI_SUCCESS_CODE:
62  # handle fetch's error
63  print "fetch all for one object error!"
64  return
65  else:
66  # do ptocessing after insertion
67  pass
68  for task in fetched_back_log_tasks:
69  #print task
70  pass
71 
72 
73 
74  # update one object
75  update_back_log_tasks = dbResources(updated_resources)
76  updated_back_log_tasks = self.dbi.update(update_back_log_tasks, "nodeId=%s"%update_back_log_tasks.nodeId)
77  if self.dbi.getError() != CONSTANTS.DBI_SUCCESS_CODE:
78  # handle update's error
79  print "update one object error!"
80  return
81  else:
82  # do ptocessing after insertion
83  pass
84  for task in updated_back_log_tasks:
85  #print vars(task)
86  pass
87 
88 
89 
90  # delete one object
91  delete_back_log_tasks = dbResources(updated_resources)
92  deleted_back_log_tasks = self.dbi.delete(delete_back_log_tasks, "nodeId=%s"%delete_back_log_tasks.nodeId)
93  if self.dbi.getError() != CONSTANTS.DBI_SUCCESS_CODE:
94  # handle update's error
95  print "delete one object error!"
96  return
97  else:
98  # do ptocessing after insertion
99  pass
100  for task in deleted_back_log_tasks:
101  print vars(task)
102 
103 
104 
105  # delete all for one object
106  delete_back_log_tasks = dbResources(updated_resources)
107  deleted_back_log_tasks = self.dbi.deleteAll(delete_back_log_tasks)
108  if self.dbi.getError() != CONSTANTS.DBI_SUCCESS_CODE:
109  # handle update's error
110  print "delete all for one object error!"
111  return
112  else:
113  # do ptocessing after insertion
114  pass
115  for task in deleted_back_log_tasks:
116  print vars(task)
117 
118 
119 
120 if __name__ == '__main__':
121  # config section
122  config_dic = dict()
123  config_dic["db_name"] = ""
124  # create ResourcesManager instance
125  demoResourceManager = DemoResourcesManager(config_dic)
126  event_Resource = eventResource("1")
127  demoResourceManager.updateResourcesData(event_Resource)