# HG changeset patch # User drewp@bigasterisk.com # Date 1369642096 25200 # Node ID 4077903a95205d35fb5aadae23ba0547a26299a2 # Parent 22ccc05756de72bea21731f77e05db4ee59b42e0 upgrade PyGithub. use keychain for ssh sock path Ignore-this: ab5c52463f0b6cc01bc3dece4bc2192f diff -r 22ccc05756de -r 4077903a9520 pydeps --- a/pydeps Tue Jan 08 23:41:13 2013 -0800 +++ b/pydeps Mon May 27 01:08:16 2013 -0700 @@ -1,1 +1,1 @@ -PyGithub==1.10.0 +PyGithub==1.14.2 diff -r 22ccc05756de -r 4077903a9520 sync.py --- a/sync.py Tue Jan 08 23:41:13 2013 -0800 +++ b/sync.py Mon May 27 01:08:16 2013 -0700 @@ -1,6 +1,6 @@ #!bin/python -import os, subprocess, urllib2, json, logging, traceback, time +import os, subprocess, urllib2, json, logging, traceback, time, re from github import Github, GithubException logging.basicConfig(level=logging.INFO) log = logging.getLogger() @@ -31,7 +31,7 @@ try: os.rmdir(os.path.join(darcsDir, 'darcs_testing_for_nfs')) except OSError: pass - self.runGitCommand([self.config['darcsToGitCmd'], '--no-verbose', darcsDir]) + self.runGitCommand([self.config['darcsToGitCmd'], '--verbose', darcsDir]) def runGitCommand(self, args): try: @@ -47,7 +47,7 @@ try: self.gh.create_repo(self.name) except GithubException, e: - assert e.data['errors'][0]['message'].startswith('name already exists'), e + assert e.data['errors'][0]['message'].startswith('name already exists'), (e, self.name) return self.runGitCommand(['git', 'remote', 'add', 'origin', 'git@github.com:%s/%s.git' % (self.gh.login, @@ -56,7 +56,18 @@ def pushToGitHub(self): self.runGitCommand(['git', 'push', 'origin', 'master']) +def getSshAuthSock(): + keychain = subprocess.check_output([ + "keychain", "--noask", "--quiet", "--eval", "id_rsa"]) + m = re.search(r'SSH_AUTH_SOCK=([^; \n]+)', keychain) + if m is not None: + return m.group(1) + else: + raise ValueError("couldn't find SSH_AUTH_SOCK in output " + "from keychain: %r" % keychain) + config = json.loads(open("config.json").read()) +config['SSH_AUTH_SOCK'] = getSshAuthSock() # to get this token: # curl -u drewp https://api.github.com/authorizations -d '{"scopes":["repo"]}'