Skip to content
Snippets Groups Projects
Commit 0dd5fa99 authored by Jorrit Schaap's avatar Jorrit Schaap
Browse files

LSMR-20: made migrate_momdb_to_lsmr.py executable. added it as bin script to...

LSMR-20: made migrate_momdb_to_lsmr.py executable. added it as bin script to cmake. use DBCredentials module for mom credentials
parent df7fbd86
No related branches found
No related tags found
1 merge request!87Lsmr epic
lofar_package(LSMR 0.1)
lofar_package(LSMR 0.1 DEPENDS PyCommon)
add_subdirectory(src)
add_subdirectory(bin)
......
......@@ -21,4 +21,6 @@ set(_py_files
python_install(${_py_files}
DESTINATION lofar/sas/lsmr)
lofar_add_bin_scripts(migrate_momdb_to_lsmr.py)
add_subdirectory(lsmr)
#!/usr/bin/env python3
from lsmr.wsgi import application # required to set up django, even though not explicitly used
from lsmr.lsmrapp import models
from lofar.common import dbcredentials
import logging
import datetime
import pymysql
from optparse import OptionParser
logger = logging.getLogger(__file__)
mom_db_host = 'localhost'
mom_db_port = '3306'
mom_db_name = 'lofar_mom_test_lsmr'
mom_db_user = 'root'
mom_db_pass = 'the_great_password'
def _execute_query(query, data=None):
try:
db = pymysql.connect(mom_db_host, mom_db_user, mom_db_pass, mom_db_name)
db = pymysql.connect(dbcreds.host, dbcreds.user, dbcreds.password, dbcreds.database)
cursor = db.cursor(pymysql.cursors.DictCursor)
cursor.execute(query, data)
return cursor.fetchall()
......@@ -94,7 +92,7 @@ def query_task_details_for_project_from_momdb(project_mom2id):
INNER JOIN status ON mom2objectstatus.statusid = status.id
LEFT JOIN lofar_pipeline ON mom2object.id = lofar_pipeline.mom2objectid
LEFT JOIN lofar_observation ON mom2object.id = lofar_observation.mom2objectid
LEFT JOIN lofar_mom_test_lsmr.lofar_observation_specification ON lofar_observation.user_specification_id = lofar_observation_specification.id
LEFT JOIN lofar_observation_specification ON lofar_observation.user_specification_id = lofar_observation_specification.id
WHERE ownerproject_mom2object.mom2id = %s
AND (mom2object.mom2objecttype = 'LOFAR_OBSERVATION' OR mom2object.mom2objecttype LIKE '%%PIPELINE%%');
'''
......@@ -209,7 +207,6 @@ def get_task_details_from_momdb(project_mom2id):
def main():
project_details = get_project_details_from_momdb()
for p_id, p_details in project_details.items():
......@@ -238,10 +235,17 @@ def main():
if __name__ == "__main__":
logger.setLevel(logging.DEBUG)
handler = logging.StreamHandler()
handler.setLevel(logging.INFO)
logger.addHandler(handler)
logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s',
level=logging.DEBUG)
# Check the invocation arguments
parser = OptionParser("%prog [options]", description='run the mom to lsmr db conversion script')
parser.add_option_group(dbcredentials.options_group(parser))
parser.set_defaults(dbcredentials="MoM")
(options, args) = parser.parse_args()
global dbcreds
dbcreds = dbcredentials.parse_options(options)
logger.info("Using dbcreds: %s", dbcreds.stringWithHiddenPassword())
main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment