diff --git a/check_results.py b/check_results.py index b265448..0ddf309 100644 --- a/check_results.py +++ b/check_results.py @@ -1,41 +1,55 @@ +from enum import Enum + from playwright.sync_api import sync_playwright +import params from db.DbManager import DataManager from pojo.ReserveResultPojo import ReserveResultPojo -SORRY_SENTENCE = "we are extremely sorry that we were not able to fulfill your request this time" +SORRY_SENTENCE = "nous sommes sincèrement désolés de n'avoir pu vous satisfaire cette fois-ci" +PENDING_SENTENCE = "Ce soir, entre 20:00 et 20:30, vous obtiendrez une réponse par e-mail." + + +class ResultEnum(Enum): + ACCEPTED = "ACCEPTED" + REFUSED = "REFUSED" + PENDING = "PENDING" # check result with playright -def check_result_page(url) -> bool: +def check_result_page(url) -> ResultEnum: with sync_playwright() as p: return run(p, url) -def run(playwright, url) -> bool: +def run(playwright, url) -> ResultEnum: browser = playwright.webkit.launch(headless=False) page = browser.new_page( user_agent="Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.87 Mobile Safari/537.36") url_to_check = url.replace("register/", "") + url_to_check = url_to_check + "?lang=fr" print(url_to_check) page.goto(url_to_check) - print(page.title()) content = page.content() + print(content) browser.close() if SORRY_SENTENCE in content: - print("refused") - return False + print("REFUSED") + return ResultEnum.REFUSED + elif PENDING_SENTENCE in content: + print("PENDING") + return ResultEnum.PENDING else: - print("accepted") - return True + print("ACCEPTED") + return ResultEnum.ACCEPTED # need to start at 21h00 if __name__ == '__main__': # get the list - db_manager = DataManager() + db_manager = params.firebase_store_manager collection = db_manager.get_all_successful_items() for appointment in collection.stream(): reserve_pojo = ReserveResultPojo.from_firestore_dict(appointment.to_dict()) result = check_result_page(reserve_pojo.url) - collection.document(reserve_pojo.id).update({u'accepted': result}) + collection.document(reserve_pojo.id).update({u'accepted': result.name}) diff --git a/contact.xlsx b/contact.xlsx index 324bd96..2432575 100644 Binary files a/contact.xlsx and b/contact.xlsx differ diff --git a/db/DbManager.py b/db/DbManager.py index c8ad253..f04f5a9 100644 --- a/db/DbManager.py +++ b/db/DbManager.py @@ -17,7 +17,7 @@ class DataManager: batch_size = 20 def __init__(self): - cred = credentials.Certificate("appointment.json") + cred = credentials.Certificate("../appointment.json") self._app = firebase_admin.initialize_app(cred) self._db = firestore.client() @@ -91,5 +91,5 @@ class DataManager: if __name__ == '__main__': - # params.firebase_store_manager.save_to_excel() - params.firebase_store_manager.clear_all_sim_info() + params.firebase_store_manager.save_to_excel() + # params.firebase_store_manager.clear_all_sim_info() diff --git a/db/sim_infos.xlsx b/db/sim_infos.xlsx deleted file mode 100644 index 9009ff4..0000000 Binary files a/db/sim_infos.xlsx and /dev/null differ diff --git a/utils/ccid_list.xlsx b/utils/ccid_list.xlsx deleted file mode 100644 index b6c2f88..0000000 Binary files a/utils/ccid_list.xlsx and /dev/null differ diff --git a/utils/excel_reader.py b/utils/excel_reader.py index 84f712d..1a4ce04 100644 --- a/utils/excel_reader.py +++ b/utils/excel_reader.py @@ -10,17 +10,6 @@ class ExcelHelper: def __init__(self): self._df = pandas.Series() - def write_phone(self, phone_ccid): - (phone, ccid) = phone_ccid - f = open("phone_list.txt", "a") - f.write("{},".format(phone[2:len(phone)])) - f.close() - - def write_ccid(self, phone_number): - f = open("ccid_list.txt", "a") - f.write("{},".format(phone_number)) - f.close() - def write_to_exel(self, file_name, data_list: list): new_df = pandas.Series(data_list) self._df = pandas.concat([self._df, new_df])