def control_room_start_fix_process(self, data, original): tables = Tables() excel = Files() google = Google() conflicts = [] updated_table = tables.export_table(original, with_index=True, as_list=False) for k in data.keys(): copyof_orig = copy.deepcopy(original) if "nameerror" in k: mid, _ = data[k].split(" - ") tables.filter_table_by_column(copyof_orig, "Account Id", "==", mid) row = tables.get_table_row(copyof_orig, 0) conflicts.append({"id": mid, "name": row["Name in SAP"]}) name_position = updated_table["Account Id"].index(mid) updated_table["Name OK in SFDC"][name_position] = "TRUE" if conflicts: self.control_room_run_process(CONTROL_ROOM_PROCESS_FIX_SFDC, conflicts) google.set_robocorp_vault(vault_name="googlecloud", vault_secret_key="credentials") google.init_drive(use_robocorp_vault=True) del updated_table["index"] excel.create_workbook(COMPARISON_EXCEL) excel.append_rows_to_worksheet(updated_table, header=True) excel.save_workbook() google.drive_upload_file(COMPARISON_EXCEL, GOOGLE_DRIVE_SYNC_FOLDER, overwrite=True)
def test_create_workbook_default_sheet(fmt): library = Files() library.create_workbook(fmt=fmt) assert library.list_worksheets() == ["Sheet"] library.create_worksheet("Test") assert library.list_worksheets() == ["Sheet", "Test"]
def test_append_to_worksheet_empty_with_headers(fmt): table = Table( [ {"Index": 98, "Date": "today", "Id": "some_value"}, {"Index": 99, "Date": "tomorrow", "Id": "another_value"}, ] ) library = Files() library.create_workbook(fmt=fmt) library.append_rows_to_worksheet(table, header=True) result = library.read_worksheet_as_table() assert len(result) == 3 assert result[0] == ["Index", "Date", "Id"]
def generate_data(user_count=100, feedback_count=5): fake = Faker() files = Files() files.create_workbook("userdata.xlsx") files.create_worksheet("profile", exist_ok=True) files.create_worksheet("feedback", exist_ok=True) users = [] names = [] for i in range(user_count): userprofile = fake.profile() if userprofile["name"] in names: print("name %s already exists", userprofile["name"]) continue userprofile.pop("website") userprofile.pop("current_location") files.append_rows_to_worksheet(userprofile, "profile", header=True) users.append(userprofile) for i in range(1, 16): selected_user = users[i] feedback = { "name": selected_user["name"], "feedback": choice(good_feedback) } print(feedback) files.append_rows_to_worksheet(feedback, "feedback", header=True) for i in range(17, 22): selected_user = users[i] feedback = { "name": selected_user["name"], "feedback": choice(neutral_feedback) } print(feedback) files.append_rows_to_worksheet(feedback, "feedback", header=True) for i in range(23, 28): selected_user = users[i] feedback = { "name": selected_user["name"], "feedback": choice(bad_feedback) } print(feedback) files.append_rows_to_worksheet(feedback, "feedback", header=True) files.remove_worksheet("Sheet") files.save_workbook()
def test_create_workbook(fmt, instance): library = Files() library.create_workbook(fmt=fmt) assert isinstance(library.workbook, instance) assert library.workbook._book is not None
def test_create_without_close(fmt): library = Files() library.create_workbook(fmt=fmt) library.create_workbook(fmt=fmt)
def test_create_after_close(fmt): library = Files() library.create_workbook(fmt=fmt) library.close_workbook() library.create_workbook(fmt=fmt)