From fa12dfb21aec21be897dd3875f343dc1dd2ab30e Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Fri, 10 Aug 2012 04:13:21 +0200 Subject: Read description from git's config, not from flat file. --- sync-github.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sync-github.py b/sync-github.py index 87a3009..73499b7 100755 --- a/sync-github.py +++ b/sync-github.py @@ -3,6 +3,7 @@ from pygithub3 import Github import sys import os import os.path +import subprocess class LocalRepo: def __init__(self, name, description, homepage, path): @@ -16,19 +17,18 @@ class LocalRepo: def localRepos(repo_list, repo_base_dir, url_base, blacklist): repo_names = open(repo_list, "r") repos = [] + def gitSetting(repo_dir, key): + value = subprocess.Popen(["git", "--git-dir=%s" % repo_dir, "config", "--get", key], stdout=subprocess.PIPE).communicate()[0].strip() + if len(value) == 0: + return None + return value for repo_name in repo_names: repo_name = repo_name.rstrip() repo_dir = os.path.join(repo_base_dir, repo_name) repo_name = repo_name[:-4] - description = os.path.join(repo_dir, "description") - if os.path.exists(description): - description = open(description, "r").read().strip() - else: - description = None - homepage = os.path.join(repo_dir, "homepage") - if os.path.exists(homepage): - homepage = open(homepage, "r").read().strip() - else: + description = gitSetting(repo_dir, "gitweb.description") + homepage = gitSetting(repo_dir, "gitweb.homepage") + if homepage == None: homepage = url_base + repo_name repo = LocalRepo(repo_name, description, homepage, repo_dir) if repo.name not in blacklist: @@ -53,7 +53,7 @@ def main(argv): 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().all() -- cgit v1.2.3-59-g8ed1b