diff --git a/core/base.py b/core/base.py new file mode 100644 index 0000000..109bede --- /dev/null +++ b/core/base.py @@ -0,0 +1,2 @@ +class CommonItem(): + pass \ No newline at end of file diff --git a/github.py b/github.py index 756a8e9..1454899 100644 --- a/github.py +++ b/github.py @@ -7,17 +7,3 @@ def __init__(self, **kwargs): self.api_root_url = "https://api.github.com" self.repos = Repos(self.api_root_url, **kwargs) self.issues = Issues(self.api_root_url, **kwargs) - -if __name__ == '__main__': - r = Github(token="xxxx") - username = "zhangting85" - orgname = "TestUpCommunity" - reponame ="simpleWebtest" - # case 1 - x = r.repos.get_repo(username, reponame) - print(x.status_code) - assert x.status_code == 200 - print(x.text) - x = r.repos.traffic.list_clones(username, reponame) - assert x.status_code == 200 - print(x.text) diff --git a/operations/__init__.py b/operations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/operations/repo.py b/operations/repo.py new file mode 100644 index 0000000..97789f2 --- /dev/null +++ b/operations/repo.py @@ -0,0 +1,39 @@ +from core.base import CommonItem + + +def create_repo(github, name, org=None, description=None, homepage=None, private=False, has_issues=True, + has_projects=True, has_wiki=True): + """ + + :param github: github 对象 + :param name: string, repo 名称 + :param org: string, 如果是要在一个organization下建repo,就在这里输入 org 名字;否则默认建在当前用户下。 + :param description: string, repo的描述 + :param homepage: string, repo的主页URL + :param private: boolean, 值为 true的时候建立一个私有repo,为 false时建立公开repo,默认是false + :param has_issues: boolean, true会建立有issues的repo, false 则没有,默认是true + :param has_projects: boolean, true会建立有projects的repo, false 则没有,默认是true + :param has_wiki: boolean, true会建立有wiki的repo,false则没有,默认是true + :return: common item + """ + result = CommonItem() + payload = { + "name": name, + "description": description, + "homepage": homepage, + "private": private, + "has_issues": has_issues, + "has_projects": has_projects, + "has_wiki": has_wiki + } + result.success = False + if org: + response = github.repos.create_organization_repo(org=org, json=payload) + else: + response = github.repos.create_user_repo(json=payload) + result.response = response + if response.status_code == 201: + result.success = True + else: + result.error = "create repo got {},should be 201".format(str(response.status_code)) + return result diff --git a/scripts/debug.py b/scripts/debug.py new file mode 100644 index 0000000..1a1b97e --- /dev/null +++ b/scripts/debug.py @@ -0,0 +1,13 @@ +from github import Github +from operations.repo import create_repo + +if __name__ == '__main__': + github = Github(token="xxxx") + + # # test 1: 在当前用户下创建一个repo,除了repo名字以外全部用默认值 + result = create_repo(github, "simpletest") + assert result.success == True, result.error + + # test 2: 在当前用户下创建一个repo,使用一些输入值 + result = create_repo(github, "simpletest03", has_issues=False) + assert result.success == True, result.error