diff --git a/api/__init__.py b/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/api/repositories/__init__.py b/api/repositories/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/api/repositories/repos.py b/api/repositories/repos.py new file mode 100644 index 0000000..bd0c5a7 --- /dev/null +++ b/api/repositories/repos.py @@ -0,0 +1,7 @@ +from core.rest_client import RestClient +class Repos(RestClient): + def __init__(self,api_root_url,**kwargs): + super(Repos, self).__init__(api_root_url,**kwargs) + + def list_your_repos(self): + return self.get("/user/repos") diff --git a/core/__init__.py b/core/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/core/rest_client.py b/core/rest_client.py index 5edee22..690315c 100644 --- a/core/rest_client.py +++ b/core/rest_client.py @@ -2,9 +2,13 @@ class RestClient(): - def __init__(self,api_root_url): + def __init__(self,api_root_url,username=None,password=None,token=None): self.api_root_url=api_root_url self.session = requests.session() + if username and password: + self.session.auth=(username, password) + if token: + self.session.headers["Authorization"] = "token {}".format(token) def get(self,url, **kwargs): return self.request(url,"get",**kwargs) diff --git a/github.py b/github.py new file mode 100644 index 0000000..e43d026 --- /dev/null +++ b/github.py @@ -0,0 +1,16 @@ +from api.repositories.repos import Repos + +class Github(): + def __init__(self, **kwargs): + self.api_root_url="http://api.github.com" + self.repos = Repos(self.api_root_url,**kwargs) + + +if __name__ == '__main__': + r=Github(token="xxxxxxxxxxxxxx") + x= r.repos.list_your_repos() + print(x.text) + + r=Github(username="xxxxxx",password="xxxxx") + x= r.repos.list_your_repos() + print(x.text) \ No newline at end of file