summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Hahn <sebastian@torproject.org>2009-08-11 11:34:33 +0200
committerSebastian Hahn <sebastian@torproject.org>2009-08-25 19:50:44 +0200
commitebbcff7f7a99eec8075d67cba18e349562507513 (patch)
treef356ecbe6dd89bde35b66d2d1d33309d6c7903e1
parent8746f89a3a459b8b502a7d40653788d6a7e52a5c (diff)
Allow tracking all bundles in the repository with thandy-client
thandy-client now allows passing ** instead of a path for bundles. This is treated as a special case, other wild card or regular expression matching is not included.
-rw-r--r--lib/thandy/ClientCLI.py1
-rw-r--r--lib/thandy/formats.py3
-rw-r--r--lib/thandy/repository.py3
3 files changed, 7 insertions, 0 deletions
diff --git a/lib/thandy/ClientCLI.py b/lib/thandy/ClientCLI.py
index 05d2cd8..73c96df 100644
--- a/lib/thandy/ClientCLI.py
+++ b/lib/thandy/ClientCLI.py
@@ -219,6 +219,7 @@ def usage():
print " [--no-packagesys] [--install] [--socks-port=port]"
print " [--debug|--info|--warn] [--force-check]"
print " [--controller-log-format]"
+ print " bundle1, bundle2, ..."
print " json2xml file"
sys.exit(1)
diff --git a/lib/thandy/formats.py b/lib/thandy/formats.py
index f59995a..0eb501b 100644
--- a/lib/thandy/formats.py
+++ b/lib/thandy/formats.py
@@ -637,6 +637,9 @@ class TimestampFile:
def getBundleInfo(self, name):
return self._bundleInfo[name]
+ def getBundleInfos(self):
+ return self._bundleInfo
+
def readConfigFile(fname, needKeys=(), optKeys=(), preload={}):
parsed = preload.copy()
result = {}
diff --git a/lib/thandy/repository.py b/lib/thandy/repository.py
index 6d1ece3..af20904 100644
--- a/lib/thandy/repository.py
+++ b/lib/thandy/repository.py
@@ -394,6 +394,9 @@ class LocalRepository:
# Okay; that's it for the metadata. Do we have the right
# bundles?
bundles = {}
+ if len(trackingBundles) == 1 and trackingBundles[0] == "**":
+ trackingBundles = ts.getBundleInfos()
+
for b in trackingBundles:
try:
binfo = ts.getBundleInfo(b)