[projects/git-slug: 111/170] Wrap catching exceptions from reading Refs repo in a function

glen glen at pld-linux.org
Mon Sep 21 21:48:08 CEST 2015


commit e47d6d47e15e3a81bf2e33652bbf8dbf86dba7df
Author: Kacper Kornet <draenog at pld-linux.org>
Date:   Fri Jun 8 15:30:08 2012 +0100

    Wrap catching exceptions from reading Refs repo in a function
    
    This commit wraps recurring code for exception handling from
    GitArchiveRefsData into a single function.

 slug.py | 28 +++++++++++-----------------
 1 file changed, 11 insertions(+), 17 deletions(-)
---
diff --git a/slug.py b/slug.py
index c76ad5c..37df462 100755
--- a/slug.py
+++ b/slug.py
@@ -82,6 +82,14 @@ def create_packages(options):
     for package in options.packages:
         createpackage(package, options)
 
+def getrefs(*args):
+    try:
+        refs = GitArchiveRefsData(*args)
+    except RemoteRefsError as e:
+        print('Problem with file {} in repository {}'.format(*e.args), file=sys.stderr)
+        sys.exit(1)
+    return refs
+
 def fetch_packages(options):
     fetch_queue = queue.Queue()
     for i in range(options.jobs):
@@ -91,13 +99,7 @@ def fetch_packages(options):
 
     signal.signal(signal.SIGINT, signal.SIG_DFL)
 
-    try:
-        refs = GitArchiveRefsData(options.branch, options.repopattern)
-    except RemoteRefsError as e:
-        print('Problem with file {} in repository {}'.format(*e.args), file=sys.stderr)
-        sys.exit(1)
-
-
+    refs = getrefs(options.branch, options.repopattern)
     print('Read remotes data')
     updated_repos = []
     for pkgdir in sorted(refs.heads):
@@ -123,11 +125,7 @@ def fetch_packages(options):
     fetch_queue.join()
 
     if options.prune:
-        try:
-            refs = GitArchiveRefsData('*')
-        except RemoteRefsError as e:
-            print('Problem with file {} in repository {}'.format(*e.args), file=sys.stderr)
-            sys.exit(1)
+        refs = getrefs('*')
         for pattern in options.repopattern:
             for fulldir in glob.iglob(os.path.join(options.packagesdir, pattern)):
                 pkgdir = os.path.basename(fulldir)
@@ -144,11 +142,7 @@ def clone_packages(options):
             print('Problem with checking branch master in repo {}: {}'.format(repo.gdir, e), file=sys.stderr)
 
 def list_packages(options):
-    try:
-        refs = GitArchiveRefsData(options.branch, options.repopattern)
-    except RemoteRefsError as e:
-        print('Problem with file {} in repository {}'.format(*e.args), file=sys.stderr)
-        sys.exit(1)
+    refs = getrefs(options.branch, options.repopattern)
     for package in sorted(refs.heads):
         print(package)
 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/projects/git-slug.git/commitdiff/4ed64f73960519a2f4fd04c42950b2c96ae795c5



More information about the pld-cvs-commit mailing list