fix tmdbapis
This commit is contained in:
64
app/modules/themoviedb/tmdbv3api/objs/auth.py
Normal file
64
app/modules/themoviedb/tmdbv3api/objs/auth.py
Normal file
@ -0,0 +1,64 @@
|
||||
from ..tmdb import TMDb
|
||||
|
||||
|
||||
class Authentication(TMDb):
|
||||
_urls = {
|
||||
"create_request_token": "/authentication/token/new",
|
||||
"validate_with_login": "/authentication/token/validate_with_login",
|
||||
"create_session": "/authentication/session/new",
|
||||
"delete_session": "/authentication/session",
|
||||
}
|
||||
|
||||
def __init__(self, username, password):
|
||||
super().__init__()
|
||||
self.username = username
|
||||
self.password = password
|
||||
self.expires_at = None
|
||||
self.request_token = self._create_request_token()
|
||||
self._authorise_request_token_with_login()
|
||||
self._create_session()
|
||||
|
||||
def _create_request_token(self):
|
||||
"""
|
||||
Create a temporary request token that can be used to validate a TMDb user login.
|
||||
"""
|
||||
response = self._request_obj(self._urls["create_request_token"])
|
||||
self.expires_at = response.expires_at
|
||||
return response.request_token
|
||||
|
||||
def _create_session(self):
|
||||
"""
|
||||
You can use this method to create a fully valid session ID once a user has validated the request token.
|
||||
"""
|
||||
response = self._request_obj(
|
||||
self._urls["create_session"],
|
||||
method="POST",
|
||||
json={"request_token": self.request_token}
|
||||
)
|
||||
self.session_id = response.session_id
|
||||
|
||||
def _authorise_request_token_with_login(self):
|
||||
"""
|
||||
This method allows an application to validate a request token by entering a username and password.
|
||||
"""
|
||||
self._request_obj(
|
||||
self._urls["validate_with_login"],
|
||||
method="POST",
|
||||
json={
|
||||
"username": self.username,
|
||||
"password": self.password,
|
||||
"request_token": self.request_token,
|
||||
}
|
||||
)
|
||||
|
||||
def delete_session(self):
|
||||
"""
|
||||
If you would like to delete (or "logout") from a session, call this method with a valid session ID.
|
||||
"""
|
||||
if self.has_session:
|
||||
self._request_obj(
|
||||
self._urls["delete_session"],
|
||||
method="DELETE",
|
||||
json={"session_id": self.session_id}
|
||||
)
|
||||
self.session_id = ""
|
Reference in New Issue
Block a user