Exemplo n.º 1
0
def create_generator_dictionary(metakey_col_number_list, sheet_tab,
                                row_number):
    dictionary = {}
    for column in metakey_col_number_list:
        if sheet_tab.range(row_number, column).value != None:
            meta_key = xwu.find_metakey_value_by_col(column)
            dictionary[meta_key] = sheet_tab.range(row_number, column).value
            print(str(meta_key) + " - " + str(dictionary[meta_key]))
    return dictionary
Exemplo n.º 2
0
def test_populator(sheet,
                   row,
                   metakeys,
                   partners,
                   gen_size=True,
                   max_col_range=1500):
    global entered_row
    entered_row = {}

    partner_name_row_no = xwu.find_row_no_by_row_metakey(
        sheet, c.ROW_PARTNER_METAKEY)
    pot_name_row_no = xwu.find_row_no_by_row_metakey(
        sheet, c.ROW_RETENTION_POT_METAKEY)
    size_number_row_no = xwu.find_row_no_by_row_metakey(
        sheet, c.ROW_SIZE_NUMBER_METAKEY)

    if gen_size:
        size_dict = xwu.get_size_dict(sheet)

    ##loop through metakeys on row
    for col in range(1, max_col_range + 1):
        col_metakey = xwu.find_metakey_value_by_col(col, sheet)

        if (col_metakey in metakeys):
            print(col_metakey)
            partner_metakey = xwu.find_partner_metakey_by_col(
                col,
                sheet,
                partner_name_row_no=partner_name_row_no,
                pot_name_row_no=pot_name_row_no)
            size_metakey = xwu.find_size_metakey_by_col(
                col, sheet, size_number_row_no=size_number_row_no)
            size_valid = True

            if (size_metakey):
                size_valid = validate_size(size_dict, sheet.range(row, col))

            if (size_valid and
                (partner_metakey is None or partner_metakey in partners)):
                new_val = generate_from_meta_key(col_metakey,
                                                 sheet.range(row, col))

                if (new_val is None):
                    print(new_val)
                elif (isinstance(new_val, float) or isinstance(new_val, int)):
                    print(col_metakey + " " + str(new_val))
                elif (isinstance(new_val, datetime.datetime)):
                    print(col_metakey + " " + new_val.strftime("%Y-%m-%d"))
                else:
                    print(col_metakey + " " + new_val)

                if ((not sheet.range(row, col).value)
                        or sheet.range(row, col).value != new_val):
                    sheet.range(row, col).value = new_val

                save_entry(sheet, col, new_val)
Exemplo n.º 3
0
 def set_metakey_col_dict_for_current_sheet(self):
     first_col = 1
     last_col = self.get_last_col_current_sheet()
     metakey_row = 1
     route_row = 2
     mk_dict = {}
     for col_no in range(first_col, last_col + 1):
         mk_range = self.current_sheet.range(1, col_no)
         primary_metakey = xwu.find_metakey_value_by_col(
             col_no, self.current_sheet)
         route_metakey = self.get_route_val_by_col(col_no)
         mk_tuple = (primary_metakey, route_metakey)
         mk_dict[mk_tuple] = col_no
     return mk_dict
Exemplo n.º 4
0
def generate_dictionary_for_all_db_status_rows(metakey_col_number_list,
                                               sheet_tab):
    data_start_row = xwu.find_first_data_row(sheet_tab)
    db_status_col_number = xwu.find_col_by_metakey('DbStatus')
    dictionary = {}
    values_dictionary = {}

    while sheet_tab.range(data_start_row, db_status_col_number).value != None:
        for column in metakey_col_number_list:
            if sheet_tab.range(data_start_row,
                               column).value != None and sheet_tab.range(
                                   data_start_row, column).value != '':
                meta_key = xwu.find_metakey_value_by_col(column)
                values_dictionary[meta_key] = sheet_tab.range(
                    data_start_row, column).value
        dictionary[data_start_row] = values_dictionary
        values_dictionary = {}
        data_start_row = data_start_row + 1
    return dictionary
Exemplo n.º 5
0
def get_metakey_string(xwrange: xw.Range):
    column_no = xwrange.column
    return xwu.find_metakey_value_by_col(column_no, xwrange.sheet) or 'None'
columns_not_stored_in_database_count = 0

#commence test

while (iterator < 26):

    #select a random cell
    random_row = rnd.randint(
        xwu.find_first_data_row(order_sheet.sheets[order_sheet_tab1]),
        lastDataRow)
    random_col = rnd.randint(
        find_col_by_metakey("WholesaleReadyStatus") + 1, lastDataCol)
    random_cell_value = order_sheet_tab1.range(random_row, random_col).value

    #find the metakey for that cell
    cell_metakey = xwu.find_metakey_value_by_col(
        random_col, order_sheet.sheets[order_sheet_tab1])

    #find the order row id for that cell
    order_row_col = xwu.find_col_by_metakey("OrderRowId")
    order_row_id = order_sheet_tab1.range(random_row, order_row_col).value

    #use the metakey linked with the dictionary to get the method in order to retrieve the selected data from the db
    try:
        db_value = dictionary[cell_metakey](order_row_id)
        #compare db_value with random_cell
        if random_cell_value != db_value:
            test_pass = 0
    except:
        comparison_result = "The randomly selected column " + cell_metakey + "is not stored in the database"
        columns_not_stored_in_database_count += 1
        print(comparison_result)