Add logout function

This commit is contained in:
Thomas Wade 2020-04-22 03:58:23 +09:30
parent ebcc589841
commit 3a1be7daf6

View File

@ -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))