1
Fork 0
mirror of https://github.com/RGBCube/GitHubWrapper synced 2025-05-15 21:54:59 +00:00

Fix repr and bump version

This commit is contained in:
VarMonke 2022-04-27 15:03:18 +05:30
parent c13448cf7d
commit e34d67b581
4 changed files with 19 additions and 12 deletions

View file

@ -8,4 +8,4 @@ from .exceptions import *
__title__ = 'Github-Api-Wrapper' __title__ = 'Github-Api-Wrapper'
__authors__ = 'VarMonke', 'sudosnok' __authors__ = 'VarMonke', 'sudosnok'
__version__ = '0.0.1' __version__ = '1.0.0'

View file

@ -1,5 +1,6 @@
#== main.py ==# #== main.py ==#
from __future__ import annotations from __future__ import annotations
from datetime import datetime
__all__ = ( __all__ = (
'GHClient', 'GHClient',
@ -15,6 +16,7 @@ from . import exceptions
from .cache import RepoCache, UserCache from .cache import RepoCache, UserCache
from .http import http from .http import http
from .objects import Gist, Issue, Organization, Repository, User, File from .objects import Gist, Issue, Organization, Repository, User, File
from Github.urls import BASE_URL
class GHClient: class GHClient:
@ -105,6 +107,12 @@ class GHClient:
return wrapped return wrapped
return wrapper return wrapper
async def latency(self) -> int:
"""Returns the latency of the client."""
start = datetime.utcnow()
await self.http.session.get(BASE_URL + '/zen')
return (datetime.utcnow() - start).total_seconds()
#@_cache(type='User') #@_cache(type='User')
async def get_self(self) -> User: async def get_self(self) -> User:
"""Returns the authenticated User object.""" """Returns the authenticated User object."""

View file

@ -9,7 +9,6 @@ if TYPE_CHECKING:
from datetime import datetime from datetime import datetime
import io import io
import os import os
from contextlib import nullcontext
__all__ = ( __all__ = (
'APIObject', 'APIObject',
@ -60,7 +59,7 @@ class _BaseUser(APIObject):
self.id = response.get('id') self.id = response.get('id')
def __repr__(self) -> str: def __repr__(self) -> str:
return f'<{self.__class__.__name__}; id = {self.id}, login = {self.login!r}>' return f'<{self.__class__.__name__} id = {self.id}, login = {self.login!r}>'
async def repos(self) -> list[Repository]: async def repos(self) -> list[Repository]:
results = await self._http.get_user_repos(self) results = await self._http.get_user_repos(self)
@ -100,7 +99,7 @@ class User(_BaseUser):
continue continue
def __repr__(self) -> str: def __repr__(self) -> str:
return f'<{self.__class__.__name__}; login: {self.login!r}, id: {self.id}, created_at: {self.created_at}>' return f'<{self.__class__.__name__} login: {self.login!r}, id: {self.id}, created_at: {self.created_at}>'
class PartialUser(_BaseUser): class PartialUser(_BaseUser):
@ -117,7 +116,7 @@ class PartialUser(_BaseUser):
self.avatar_url = response.get('avatar_url') self.avatar_url = response.get('avatar_url')
def __repr__(self) -> str: def __repr__(self) -> str:
return f'<{self.__class__.__name__}; login: {self.login!r}, id: {self.id}, site_admin: {self.site_admin}, html_url: {self.html_url}>' return f'<{self.__class__.__name__} login: {self.login!r}, id: {self.id}, site_admin: {self.site_admin}, html_url: {self.html_url}>'
async def _get_user(self) -> User: async def _get_user(self) -> User:
"""Upgrades the PartialUser to a User object.""" """Upgrades the PartialUser to a User object."""
@ -174,7 +173,7 @@ class Repository(APIObject):
continue continue
def __repr__(self) -> str: def __repr__(self) -> str:
return f'<{self.__class__.__name__}; id: {self.id}, name: {self.name!r}, owner: {self.owner!r}>' return f'<{self.__class__.__name__} id: {self.id}, name: {self.name!r}, owner: {self.owner!r}>'
@property @property
def is_fork(self) -> bool: def is_fork(self) -> bool:
@ -225,7 +224,7 @@ class Issue(APIObject):
continue continue
def __repr__(self) -> str: def __repr__(self) -> str:
return f'<{self.__class__.__name__}; id: {self.id}, title: {self.title}, user: {self.user}, created_at: {self.created_at}, state: {self.state}>' return f'<{self.__class__.__name__} id: {self.id}, title: {self.title}, user: {self.user}, created_at: {self.created_at}, state: {self.state}>'
@property @property
def updated_at(self) -> str: def updated_at(self) -> str:
@ -282,7 +281,7 @@ class Gist(APIObject):
setattr(self, key, value) setattr(self, key, value)
def __repr__(self) -> str: def __repr__(self) -> str:
return f'<{self.__class__.__name__}; id: {self.id}, owner: {self.owner}, created_at: {self.created_at}>' return f'<{self.__class__.__name__} id: {self.id}, owner: {self.owner}, created_at: {self.created_at}>'
@property @property
def updated_at(self) -> str: def updated_at(self) -> str:
@ -333,7 +332,7 @@ class Organization(APIObject):
continue continue
def __repr__(self): def __repr__(self):
return f'<{self.__class__.__name__}; login: {self.login!r}, id: {self.id}, is_verified: {self.is_verified}, public_repos: {self.public_repos}, public_gists: {self.public_gists}, created_at: {self.created_at}>' return f'<{self.__class__.__name__} login: {self.login!r}, id: {self.id}, is_verified: {self.is_verified}, public_repos: {self.public_repos}, public_gists: {self.public_gists}, created_at: {self.created_at}>'
@property @property
def description(self): def description(self):

View file

@ -3,10 +3,10 @@ from setuptools import setup
with open('requirements.txt') as f: with open('requirements.txt') as f:
requirements = f.read().splitlines() requirements = f.read().splitlines()
version = '0.0.1' version = '1.0.0'
packages = [ packages = [
'Github', 'github',
] ]
readme = '' readme = ''
@ -14,7 +14,7 @@ with open('README.md') as f:
readme = f.read() readme = f.read()
setup( setup(
name='GithubAPI', name='github',
author='VarMonke & sudosnok', author='VarMonke & sudosnok',
url='https://github.com/VarMonke/Github-Api-Wrapper', url='https://github.com/VarMonke/Github-Api-Wrapper',
version=version, version=version,