Rev 8: Track the soyuz package versions. in http://bazaar.launchpad.net/~canonical-bazaar/udd/hottest100

John Arbash Meinel john at arbash-meinel.com
Tue Jan 26 10:34:19 GMT 2010


At http://bazaar.launchpad.net/~canonical-bazaar/udd/hottest100

------------------------------------------------------------
revno: 8
revision-id: john at arbash-meinel.com-20100126103353-6mwfq1mftezaux6f
parent: ian.clatworthy at canonical.com-20100126102819-ju7a67rrfom8sh8w
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: hottest100
timestamp: Tue 2010-01-26 04:33:53 -0600
message:
  Track the soyuz package versions.
-------------- next part --------------
=== modified file 'check-hottest.py'
--- a/check-hottest.py	2010-01-26 10:28:19 +0000
+++ b/check-hottest.py	2010-01-26 10:33:53 +0000
@@ -9,7 +9,6 @@
 import os
 import sys
 
-import bzrlib
 from bzrlib import (
     bzrdir,
     errors,
@@ -17,6 +16,9 @@
     ui,
     trace,
     )
+from launchpadlib import (
+    launchpad,
+    )
 
 reuse_transports = []
 
@@ -24,7 +26,7 @@
 def setup_bzrlib():
     trace.enable_default_logging()
     plugin.load_plugins()
-    ui.ui_factory = bzrlib.ui.make_ui_for_terminal(sys.stdin,
+    ui.ui_factory = ui.make_ui_for_terminal(sys.stdin,
         sys.stdout, sys.stderr)
 
 
@@ -50,7 +52,7 @@
         f.close()
     
 
-def get_branch_age(location):
+def get_branch_age_and_tags(location):
     global reuse_transports
     dir = bzrdir.BzrDir.open(location, possible_transports=reuse_transports)
     reuse_transports = [dir.transport]
@@ -59,7 +61,7 @@
     try:
         rev = branch.repository.get_revision(branch.last_revision())
         dt = datetime.datetime.fromtimestamp(rev.timestamp)
-        return datetime.datetime.now() - dt
+        return datetime.datetime.now() - dt, branch.tags.get_tag_dict()
     finally:
         branch.unlock()
 
@@ -102,6 +104,10 @@
     devfocus_packages = set()
     no_default_upstream_branch = set()
     hg_packages = set()
+    missing_soyuz_package = set()
+
+    lp = launchpad.Launchpad.login_anonymously('check-hottest', 'edge')
+    archive = lp.distributions['ubuntu'].main_archive
 
     today = datetime.datetime.now()
     reuse_transports = []
@@ -130,8 +136,18 @@
             continue
         try:
             package_branch_url = 'lp:ubuntu/%s' % (package.name,)
-            age = get_branch_age(package_branch_url)
-            print '  %-40s  %-4d days old' % (package_branch_url, age.days)
+            age, tags = get_branch_age_and_tags(package_branch_url)
+            published_source = archive.getPublishedSources(
+                source_name=package.name, status='Published')
+            source_package_version = published_source[0].source_package_version
+            if source_package_version not in tags:
+                missing_soyuz_package.add(package)
+                package_status = 'missing'
+            else:
+                package_status = 'up-to-date'
+            print '  %-40s  %-4d days old  %-12s %s' % (
+                package_branch_url, age.days, source_package_version,
+                package_status)
             if age.days < opts.stale_days:
                 ok_packages.add(package)
             else:
@@ -148,7 +164,7 @@
                 broken_packages.add(package)
         try:
             upstream_branch_url = 'lp:%s' % (package.name,)
-            age = get_branch_age(upstream_branch_url)
+            age, _ = get_branch_age_and_tags(upstream_branch_url)
             print '  %-40s  %-4d days old' % (upstream_branch_url, age.days)
             if age.days < opts.stale_days:
                 ok_upstreams.add(package)
@@ -179,6 +195,7 @@
     print '%5s metapackages' % len(meta_packages)
     print '%5s special cased packages' % len(meta_packages)
     print '%5s no dev focus packages' % len(meta_packages)
+    print '%5s packages missing soyuz version' % len(missing_soyuz_package)
 
 if __name__ == '__main__':
     main(sys.argv[1:])



More information about the bazaar-commits mailing list