Esempio n. 1
0
    def download_statements(self):

        base_download_url = self.get_base_download_url()

        download_url_list = []
        for start_date_str, end_date_str in self.get_start_end_date_tuple_list():
            download_url_list.append(base_download_url.format(start_date=start_date_str, end_date=end_date_str))
            print("Download url:", download_url_list[-1])

        account = self.account_list[0]

        if self.current_statement_csv_name in os.listdir(account.statement_source_files_dir):
            os.remove(account.statement_source_files_dir + "/" + self.current_statement_csv_name)

        for i, (start_date_str, end_date_str) in enumerate(self.get_start_end_date_tuple_list()):
            download_url = base_download_url.format(start_date=start_date_str, end_date=end_date_str)
            print(start_date_str, end_date_str, "   ", end="")

            new_csv_name = "{} to {}.csv".format(start_date_str, end_date_str)
            if i == 0:
                new_csv_name = self.current_statement_csv_name
            new_cvs_path = account.statement_source_files_dir + "/" + new_csv_name

            if not os.path.exists(new_cvs_path):
                print(download_url, end=" - ")
                for _ in range(4):
                    self.driver.get(download_url)
                    csv_path = Functions.wait_for_temp_file(self.parent_bank.profile.temp_download_dir, 4)
                    if csv_path:
                        os.rename(csv_path, new_cvs_path)
                        break
                print(new_cvs_path, "created!")
            else:
                print(new_cvs_path, "exists!")
Esempio n. 2
0
 def try_statement_download(self, download_button_elem):
     print("Attempting to download statement...", end="")
     while True:
         try:
             download_button_elem.click()
             break
         except Exception as e:
             time.sleep(.1)
             print(".", end="")
     print("Waiting for csv...", end="")
     return Functions.wait_for_temp_file(self.temp_download_dir, 2)
 def try_statement_download(self):
     print("Attempting to download statement...", end="")
     self.driver.find_element_by_id("submitDownload").click()
     print("Waiting for csv...", end="")
     return Functions.wait_for_temp_file(
         self.parent_bank.profile.temp_download_dir, 2)