Module itchio.User
Expand source code
from itchio.Session import Session
class User:
"""
An Object representing the User ressource
"""
def __init__(
self,
username: str,
gamer: bool,
display_name: str,
cover_url: str,
url: str,
press_user: bool,
developer: bool,
id: int,
session: Session):
self.username = username
self.gamer = gamer
self.display_name = display_name
self.cover_url = cover_url
self.url = url
self.press_user = press_user
self.developer = developer
self.id = id
self.session = session
def sync(self) -> None:
"""
Sync this object with the information in the API
"""
data = self.session.get("me")
new_user = self.parse_from_dict(data["user"], self.session)
self.__dict__.update(new_user.__dict__)
@classmethod
def parse_from_dict(cls, data: dict, session: Session):
# If there is no 'display_name', the value is the same as the username
if "display_name" not in data:
data["display_name"] = data["username"]
return cls(
username=data["username"],
gamer=data["gamer"],
display_name=data["display_name"],
cover_url=data["cover_url"],
url=data["url"],
press_user=data["press_user"],
developer=data["developer"],
id=data["id"],
session=session
)
Classes
class User (username: str, gamer: bool, display_name: str, cover_url: str, url: str, press_user: bool, developer: bool, id: int, session: Session)
-
An Object representing the User ressource
Expand source code
class User: """ An Object representing the User ressource """ def __init__( self, username: str, gamer: bool, display_name: str, cover_url: str, url: str, press_user: bool, developer: bool, id: int, session: Session): self.username = username self.gamer = gamer self.display_name = display_name self.cover_url = cover_url self.url = url self.press_user = press_user self.developer = developer self.id = id self.session = session def sync(self) -> None: """ Sync this object with the information in the API """ data = self.session.get("me") new_user = self.parse_from_dict(data["user"], self.session) self.__dict__.update(new_user.__dict__) @classmethod def parse_from_dict(cls, data: dict, session: Session): # If there is no 'display_name', the value is the same as the username if "display_name" not in data: data["display_name"] = data["username"] return cls( username=data["username"], gamer=data["gamer"], display_name=data["display_name"], cover_url=data["cover_url"], url=data["url"], press_user=data["press_user"], developer=data["developer"], id=data["id"], session=session )
Static methods
def parse_from_dict(data: dict, session: Session)
-
Expand source code
@classmethod def parse_from_dict(cls, data: dict, session: Session): # If there is no 'display_name', the value is the same as the username if "display_name" not in data: data["display_name"] = data["username"] return cls( username=data["username"], gamer=data["gamer"], display_name=data["display_name"], cover_url=data["cover_url"], url=data["url"], press_user=data["press_user"], developer=data["developer"], id=data["id"], session=session )
Methods
def sync(self) ‑> None
-
Sync this object with the information in the API
Expand source code
def sync(self) -> None: """ Sync this object with the information in the API """ data = self.session.get("me") new_user = self.parse_from_dict(data["user"], self.session) self.__dict__.update(new_user.__dict__)