]> git.donarmstrong.com Git - dak.git/blobdiff - dak/ls.py
test_gpg.py: test PGP messages and plaintext
[dak.git] / dak / ls.py
index ea51aaeffcad698eea8d1beae643bd57a6c7eef9..f4ae00af1db22549d0a1189a92fbe5d724289969 100755 (executable)
--- a/dak/ls.py
+++ b/dak/ls.py
@@ -54,6 +54,7 @@ Display information about PACKAGE(s).
   -r, --regex                treat PACKAGE as a regex
   -s, --suite=SUITE          only show info for this suite
   -S, --source-and-binary    show info for the binary children of source pkgs
+  -f, --format=control-suite use same format as control-suite for output
 
 ARCH, COMPONENT and SUITE can be comma (or space) separated lists, e.g.
     --architecture=amd64,i386"""
@@ -174,6 +175,19 @@ SELECT s.source, s.version, 'source', su.suite_name, c.name, m.name
 
         packages = d.keys()
         packages.sort()
+
+        # Calculate optimal column sizes
+        sizes = [10, 13, 10]
+        for pkg in packages:
+            versions = d[pkg].keys()
+            for version in versions:
+                suites = d[pkg][version].keys()
+                for suite in suites:
+                       sizes[0] = max(sizes[0], len(pkg))
+                       sizes[1] = max(sizes[1], len(version))
+                       sizes[2] = max(sizes[2], len(suite))
+        fmt = "%%%is | %%%is | %%%is | "  % tuple(sizes)
+
         for pkg in packages:
             versions = d[pkg].keys()
             versions.sort(apt_pkg.version_compare)
@@ -184,7 +198,7 @@ SELECT s.source, s.version, 'source', su.suite_name, c.name, m.name
                     arches = d[pkg][version][suite]
                     arches.sort(utils.arch_compare_sw)
                     if Options["Format"] == "": #normal
-                        sys.stdout.write("%10s | %10s | %13s | " % (pkg, version, suite))
+                        sys.stdout.write(fmt % (pkg, version, suite))
                         sys.stdout.write(", ".join(arches))
                         sys.stdout.write('\n')
                     elif Options["Format"] in [ "control-suite", "heidi" ]: