chiark / gitweb /
Adapt checkupdates
authorDaniel Martí <mvdan@mvdan.cc>
Wed, 11 Dec 2013 18:37:38 +0000 (19:37 +0100)
committerDaniel Martí <mvdan@mvdan.cc>
Thu, 19 Dec 2013 16:05:40 +0000 (17:05 +0100)
completion/bash-completion
fdroidserver/build.py
fdroidserver/checkupdates.py
fdroidserver/common.py
fdroidserver/install.py

index d4e54e3bb35af5dd4ee44bc345e2ab36083573b2..7c72e69f14945a567a3e91f3c8339f2179ea1238 100644 (file)
@@ -139,13 +139,15 @@ __complete_publish() {
 
 __complete_checkupdates() {
        opts="-h -v -p"
-       lopts="--help --verbose --package --auto --autoonly --commit --gplay"
-       case "${prev}" in
-               -p|--package)
+       lopts="--help --verbose --auto --autoonly --commit --gplay"
+       case "${cur}" in
+               -*)
+                       __complete_options
+                       return 0;;
+               *)
                        __package
                        return 0;;
        esac
-       __complete_options
 }
 
 __complete_import() {
index 1afd62090b7d7daf1c4c17dddfa13f61a8cddb30..c9d3d2f88e7ffc7656fdb9c40807617700f5a1b6 100644 (file)
@@ -876,7 +876,7 @@ def main():
     # Get all apps...
     allapps = metadata.read_metadata(xref=not options.onserver)
 
-    apps = common.read_app_args(args, options, allapps)
+    apps = common.read_app_args(args, options, allapps, True)
     apps = [app for app in apps if (options.force or not app['Disabled']) and
             len(app['Repo Type']) > 0 and len(app['builds']) > 0]
 
index 53057879974f856bbc128c20749f576eb6bc6daf..f2aaec79f62492d16a7a0d4dcac63a075687ffb1 100644 (file)
@@ -280,8 +280,6 @@ def main():
     parser = OptionParser()
     parser.add_option("-v", "--verbose", action="store_true", default=False,
                       help="Spew out even more information than normal")
-    parser.add_option("-p", "--package", default=None,
-                      help="Check only the specified package")
     parser.add_option("--auto", action="store_true", default=False,
                       help="Process auto-updates")
     parser.add_option("--autoonly", action="store_true", default=False,
@@ -295,14 +293,9 @@ def main():
     config = common.read_config(options)
 
     # Get all apps...
-    apps = metadata.read_metadata(options.verbose)
+    allapps = metadata.read_metadata(options.verbose)
 
-    # Filter apps according to command-line options
-    if options.package:
-        apps = [app for app in apps if app['id'] == options.package]
-        if len(apps) == 0:
-            print "No such package"
-            sys.exit(1)
+    apps = common.read_app_args(args, options, allapps, False)
 
     if options.gplay:
         for app in apps:
@@ -325,7 +318,6 @@ def main():
 
     for app in apps:
 
-
         if options.autoonly and app['Auto Update Mode'] == 'None':
             if options.verbose:
                 print "Nothing to do for %s..." % app['id']
index 30cae4dabb938bf33a212483bff9d01767420a6f..b627e745059b29457c4216531a944f69e2ed6c54 100644 (file)
@@ -110,20 +110,20 @@ def read_config(opts, config_file='config.py'):
 
     return config
 
-def read_app_args(args, options, allapps):
+def read_app_args(args, options, allapps, allow_vercodes=False):
     if not args:
         return []
 
     vercodes = {}
     for p in args:
-        if ':' in p:
+        if allow_vercodes and ':' in p:
             package, vercode = p.split(':')
         else:
             package, vercode = p, None
         if package not in vercodes:
             vercodes[package] = [vercode] if vercode else []
             continue
-        elif vercode not in vercodes[package]:
+        elif vercode and vercode not in vercodes[package]:
             vercodes[package] += [vercode] if vercode else []
     packages = vercodes.keys()
     apps = [app for app in allapps if app['id'] in packages]
index fe468c110e88827f1adb1178f4ca28e5643f9e1f..65f6c0464b478a5c723c369efb56a1284b968711 100644 (file)
@@ -56,7 +56,7 @@ def main():
     # Get all apps...
     allapps = metadata.read_metadata()
 
-    apps = common.read_app_args(args, options, allapps)
+    apps = common.read_app_args(args, options, allapps, True)
 
     for app in apps:
         last = None