diff --git a/FAAPI/FAAPI.py b/FAAPI/FAAPI.py index 9fe3a08..9b56be1 100644 --- a/FAAPI/FAAPI.py +++ b/FAAPI/FAAPI.py @@ -426,7 +426,7 @@ class FAAPI: Initialises a new FAAPI instance. """ self._cookies = None - self._req = None + self._req = requests.session() self._driver = None self.logged_in = False self.username = None @@ -457,8 +457,7 @@ class FAAPI: else: self._cookies = cookies - # Set up a Requests session with the cookies we just got - self._req = requests.session() + # Set up the Requests session with the cookies we just got [self._req.cookies.set(cookie['name'], cookie['value']) for cookie in self._cookies] # Verify login by getting our username @@ -474,6 +473,19 @@ class FAAPI: self.logged_in = True return True + def logout(self): + """ + Logs this instance out of FurAffinity. + """ + if not self.logged_in: + # No need to do anything if we're already logged out + return + + # Reset our state and start a new session + self.logged_in = False + self._cookies = None + self._req = requests.session() + def get_user(self, username: str) -> User: soup = self.get_soup('{}/user/{}/'.format(FA_BASE_URL, username))