def test_BookMapValues(self):
        # test reading from DB
        DBmaps = BookMapReader(excel='N',
                               inputds='bookmaplocations',
                               db_context=self.db_context)
        self.assertIsNotNone(DBmaps, 'Error reading bookmaps from DB')

        # test reading from XLS file
        XLSmaps = BookMapReader(excel='Y',
                                inputfile=os.path.join(self.testDataDir,
                                                       _XLS_FILE),
                                inputsheet=_SHEET_NAME,
                                read_to_db=False,
                                db_context=self.db_context)

        self.assertIsNotNone(XLSmaps, 'Error reading bookmaps from XLS')

        # make sure results match
        maps1dict = {
            bm.subject + '_' + bm.form_values + '_' + str(len(bm.items)): bm
            for bm in DBmaps
        }
        maps2dict = {
            bm.subject + '_' + bm.form_values + '_' + str(len(bm.items)): bm
            for bm in XLSmaps
        }
        self.assertTrue(maps1dict.keys() == maps2dict.keys(),
                        'Error: bookmap values do not match')
示例#2
0
def complementary_merge(run_context, bookmap_location_file_name, bookmap_sheet,
                        mergespec_file_name, input_table_names,
                        output_table_names):
    db_context = run_context.getDBContext()
    temp_bookmap_table_name = dbutilities.get_temp_table(db_context).table_name
    BookMapReader(inputfile=bookmap_location_file_name,
                  inputsheet=bookmap_sheet,
                  read_to_db=True,
                  db_context=db_context,
                  outputTable=temp_bookmap_table_name)
    temp_prep_table_name = dbutilities.get_temp_table(db_context).table_name
    _comp_prepare1(run_context=run_context,
                   bookmaps_table_name=temp_bookmap_table_name,
                   input_table_names=input_table_names,
                   output_table_name=temp_prep_table_name)

    prepped_input_table_names = {}
    for key in input_table_names:
        if key == FLAT_TABLE_KEY_NAME:
            prepped_input_table_names[key] = temp_prep_table_name
        else:
            prepped_input_table_names[key] = input_table_names[key]

    cmpmrg = ComplementaryMerge(run_context=run_context)
    cmpmrg.identity_insert = False
    cmpmrg.complementary_merge(mergespec_file=mergespec_file_name,
                               input_table_names=prepped_input_table_names,
                               output_table_names=output_table_names)
 def test_BookmapsToDB(self):
     maps = BookMapReader(excel='Y',
                          inputfile=os.path.join(self.testDataDir,
                                                 _XLS_FILE),
                          inputsheet=_SHEET_NAME,
                          read_to_db=True,
                          db_context=self.db_context,
                          outputTable='bookmaps')
     self.assertTrue(table_exists('bookmaps', self.db_context),
                     'Error creating bookmaps table')
     self.assertIsNotNone(maps, 'Error reading bookmaps. None was returned')
示例#4
0
 def __init__(self, dbcontext='', runcontext='', bookmapfile=''):
     self.dbcontext = dbcontext
     self.runcontext = runcontext
     self.bookmapfile = bookmapfile
     XLSmaps = BookMapReader(excel='Y',
                             inputfile=self.bookmapfile,
                             inputsheet='BookMap',
                             read_to_db=True,
                             db_context=self.dbcontext,
                             outputTable='ogt_Bookmaps')
     print 'Bookmaps LOADED'
示例#5
0
    def __init__(self, dbcontext='', runcontext='', bookmapfile=''):
        self.dbcontext = dbcontext
        self.runcontext = runcontext
        self.bookmapfile = bookmapfile
        XLSmaps = BookMapReader(excel='Y',
                                inputfile=self.bookmapfile,
                                inputsheet='BookMap',
                                read_to_db=True,
                                db_context=self.dbcontext,
                                outputTable='ogt_Bookmaps')

        for eachlist in subject_col_mapping.values():
            drop_table_if_exists(eachlist[5], self.dbcontext)
            drop_table_if_exists(eachlist[5] + '_intr', self.dbcontext)

        print 'BOOKMAPSLOADED'