Move logout code to State
This commit is contained in:
@@ -332,17 +332,11 @@ class Client(object):
|
||||
:return: True if the action was successful
|
||||
:rtype: bool
|
||||
"""
|
||||
logout_h = self._state.logout_h
|
||||
if not logout_h:
|
||||
h_r = self._post("/bluebar/modern_settings_menu/", {"pmid": "4"})
|
||||
logout_h = re.search(r'name=\\"h\\" value=\\"(.*?)\\"', h_r.text).group(1)
|
||||
|
||||
data = {"ref": "mb", "h": logout_h}
|
||||
|
||||
r = self._get("/logout.php", data)
|
||||
self._state = None
|
||||
self._uid = None
|
||||
return r.ok
|
||||
if self._state.logout():
|
||||
self._state = None
|
||||
self._uid = None
|
||||
return True
|
||||
return False
|
||||
|
||||
"""
|
||||
END LOGIN METHODS
|
||||
|
@@ -93,10 +93,6 @@ class State(object):
|
||||
return None
|
||||
return str(rtn)
|
||||
|
||||
@property
|
||||
def logout_h(self):
|
||||
return self._logout_h
|
||||
|
||||
def get_params(self):
|
||||
if self.fb_dtsg is None:
|
||||
return {}
|
||||
@@ -143,6 +139,16 @@ class State(object):
|
||||
"(Failed on url: {})".format(r.url)
|
||||
)
|
||||
|
||||
def logout(self):
|
||||
logout_h = self._logout_h
|
||||
if not logout_h:
|
||||
url = _util.prefix_url("/bluebar/modern_settings_menu/")
|
||||
h_r = self._session.post(url, data={"pmid": "4"})
|
||||
logout_h = re.search(r'name=\\"h\\" value=\\"(.*?)\\"', h_r.text).group(1)
|
||||
|
||||
url = _util.prefix_url("/logout.php")
|
||||
return self._session.get(url, params={"ref": "mb", "h": logout_h}).ok
|
||||
|
||||
@classmethod
|
||||
def from_session(cls, session):
|
||||
r = session.get(_util.prefix_url("/"))
|
||||
|
Reference in New Issue
Block a user