From 18ef9ac45f274cccb753a8b13b9e412dfae3bd54 Mon Sep 17 00:00:00 2001 From: Maximilian Zettler Date: Thu, 25 Nov 2021 17:06:01 +0100 Subject: [PATCH] fix cookie saving --- timebot.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/timebot.py b/timebot.py index abf6335..1c3da8e 100644 --- a/timebot.py +++ b/timebot.py @@ -48,8 +48,9 @@ class TimeBot: try: self._load_session_cookies(self._session) except FileNotFoundError as e: - self.logger.error(e) - raise + logger.warning(e) # file does not exist... ignored + except (EOFError, pickle.UnpicklingError) as e: + logger.warning(e) # file seems to be corrupt... ignoring request = self._session.get(self.baseurl + "Employee/GetEmployeeList") if 400 <= request.status_code < 500: self._login(self._session) @@ -100,8 +101,8 @@ class TimeBot: :param requests.Session session: the requests session which will be updated with the loaded cookies """ - with open(".kekse", "rb") as f: - if self._save_session: + if self._save_session: + with open(".kekse", "rb") as f: session.cookies.update(requests.utils.cookiejar_from_dict(pickle.load(f))) def add_entry(self, punch_datetime: datetime.datetime, entry_code: int, note: str = None) -> requests.Response: @@ -274,8 +275,8 @@ if __name__ == '__main__': config = configparser.ConfigParser() config.read(args.c) - tb = TimeBot(baseurl=config["general"]["baseurl"], user=args.u, password=args.p, ask_for_password=args.save_cookies, - save_session=True) + tb = TimeBot(baseurl=config["general"]["baseurl"], user=args.u, password=args.p, ask_for_password=True, + save_session=args.save_cookies) if args.subparser_name == "punch": if args.s == "now": punch_datetime = datetime.datetime.now()