]> arthur.barton.de Git - bup.git/blobdiff - cmd/join-cmd.py
Use absolute_import from the __future__ everywhere
[bup.git] / cmd / join-cmd.py
index 042b4023de5af8ad4cd8425e96292d7346d6fc36..68c31eedcb7e24f7d54927d40017f5dedfc20c77 100755 (executable)
@@ -1,7 +1,16 @@
-#!/usr/bin/env python
+#!/bin/sh
+"""": # -*-python-*-
+bup_python="$(dirname "$0")/bup-python" || exit $?
+exec "$bup_python" "$0" ${1+"$@"}
+"""
+# end of bup preamble
+
+from __future__ import absolute_import
 import sys
-from bup import git, options, client
-from bup.helpers import *
+
+from bup import git, options
+from bup.helpers import linereader, log
+from bup.repo import LocalRepo, RemoteRepo
 
 
 optspec = """
@@ -19,24 +28,18 @@ if not extra:
     extra = linereader(sys.stdin)
 
 ret = 0
-
-if opt.remote:
-    cli = client.Client(opt.remote)
-    cat = cli.cat
-else:
-    cp = git.CatPipe()
-    cat = cp.join
+repo = RemoteRepo(opt.remote) if opt.remote else LocalRepo()
 
 if opt.o:
     outfile = open(opt.o, 'wb')
 else:
     outfile = sys.stdout
 
-for id in extra:
+for ref in extra:
     try:
-        for blob in cat(id):
+        for blob in repo.join(ref):
             outfile.write(blob)
-    except KeyError, e:
+    except KeyError as e:
         outfile.flush()
         log('error: %s\n' % e)
         ret = 1