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)
Пример #2
0
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"]
Пример #3
0
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"]
Пример #4
0
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()
Пример #5
0
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
Пример #6
0
def test_create_without_close(fmt):
    library = Files()
    library.create_workbook(fmt=fmt)
    library.create_workbook(fmt=fmt)
Пример #7
0
def test_create_after_close(fmt):
    library = Files()
    library.create_workbook(fmt=fmt)
    library.close_workbook()
    library.create_workbook(fmt=fmt)