summaryrefslogtreecommitdiffstats
path: root/sync-github.py
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2012-07-12 20:10:16 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2012-07-12 20:10:16 +0200
commit064d350bfb868dda10d93d2a7f83b06a0339eab9 (patch)
treee34981c4c6bae7f030c5bcf3343fa6bcd5b2c53f /sync-github.py
parentUpdate upload script for gitolite v3. (diff)
downloadGitTools-064d350bfb868dda10d93d2a7f83b06a0339eab9.tar.xz
GitTools-064d350bfb868dda10d93d2a7f83b06a0339eab9.zip
Github syncer should work with github api v3.
Diffstat (limited to 'sync-github.py')
-rwxr-xr-xsync-github.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/sync-github.py b/sync-github.py
index 56fdbdc..87a3009 100755
--- a/sync-github.py
+++ b/sync-github.py
@@ -1,5 +1,5 @@
#!/usr/bin/env python
-import github2.client
+from pygithub3 import Github
import sys
import os
import os.path
@@ -49,22 +49,23 @@ def main(argv):
repo_dir_base = argv[4]
url_base = argv[5]
- github = github2.client.Github(username=user, api_token=token, requests_per_second=1)
+ github = Github(username=user, token=token, per_page=1000)
print "[#] Collecting local repositories."
local_repos = localRepos(repo_list, repo_dir_base, url_base, argv[6:])
+
print "[#] Collecting remote repositories."
- remote_repos = github.repos.list()
+ remote_repos = github.repos.list().all()
for repo in local_repos:
if repo.name not in [remote.name for remote in remote_repos]:
print "[+] Adding repository %s." % repo.name
- github.repos.create(repo.name, repo.description, repo.homepage, public=True)
+ github.repos.create(dict(name=repo.name, description=repo.description, homepage=repo.homepage, private=False, has_issues=False, has_wiki=False, has_downloads=False))
for repo in remote_repos:
if repo.name not in [local.name for local in local_repos]:
print "[-] Deleting repository %s." % repo.name
- github.repos.delete(repo.name)
+ github.repos.delete(repo=repo.name, user=user)
for repo in local_repos:
print "[^] Mirroring repository %s." % repo.name