cursor.execute('''SELECT * FROM lofar_mom3.project;''')
cursor.fetchall()
except (OperationalError,AttributeError)ase:
ifisinstance(e,OperationalError):
logger.error(str(e))
foriinrange(5):
logger.info("retrying to connect to mom database")
self._connect()
ifself.conn:
logger.info("connected to mom database")
break
time.sleep(i*i)
def_executeQuery(self,query):
defdoQuery(connection):
cursor=connection.cursor(dictionary=True)
cursor.execute(query)
returncursor.fetchall()
try:
returndoQuery(self.conn)
except (OperationalError,AttributeError)ase:
ifisinstance(e,OperationalError):
logger.error(str(e))
self.ensureConnection()
returndoQuery(self.conn)
defgetProjectDetails(self,mom_ids):
''' get the project details (project_mom2id, project_name,
...
...
@@ -65,7 +112,6 @@ class MoMDatabaseWrapper:
:param mixed mom_ids comma seperated string of mom2object id's, or list of ints
:rtype list of dict's key value pairs with the project details
'''
if_isListOfInts(mom_ids):
ids=mom_ids
else:
...
...
@@ -79,7 +125,6 @@ class MoMDatabaseWrapper:
logger.info("Query for mom id%s: %s"%
('\'s'iflen(ids)>1else'',ids_str))
cursor=self.conn.cursor(dictionary=True)
# TODO: make a view for this query in momdb!
query='''SELECT project.mom2id as project_mom2id, project.name as project_name, project.description as project_description,
object.mom2id as object_mom2id, object.name as object_name, object.description as object_description, object.mom2objecttype as object_type, object.group_id as object_group_id
...
...
@@ -88,9 +133,7 @@ class MoMDatabaseWrapper:
where object.mom2id in (%s)
order by project_mom2id
'''%(ids_str,)
cursor.execute(query)
rows=cursor.fetchall()
rows=self._executeQuery(query)
logger.info("Found %d results for mom id%s: %s"%
(len(rows),'\'s'iflen(ids)>1else'',ids_str))
...
...
@@ -110,7 +153,6 @@ class MoMDatabaseWrapper:
last_user_name, statustime)
:rtype list of dict's key value pairs with all projects
'''
cursor=self.conn.cursor(dictionary=True)
# TODO: make a view for this query in momdb!
query='''SELECT project.mom2id as mom2id, project.name as name, project.description as description,
lofar_mom3.statustype.code as status_name, lofar_mom3.statustype.id as status_id,