Rev 5: Introduce a package class. in http://people.canonical.com/~robertc/baz2.0/hottest100

Robert Collins robertc at robertcollins.net
Tue Jan 26 08:21:59 GMT 2010


At http://people.canonical.com/~robertc/baz2.0/hottest100

------------------------------------------------------------
revno: 5
revision-id: robertc at robertcollins.net-20100126082153-4o4ys3lh72bllzt3
parent: robertc at robertcollins.net-20100126081006-3ob8o3wal7nggg38
committer: Robert Collins <robertc at robertcollins.net>
branch nick: hottest100
timestamp: Tue 2010-01-26 19:21:53 +1100
message:
  Introduce a package class.
=== modified file 'check-hottest.py'
--- a/check-hottest.py	2010-01-15 16:41:00 +0000
+++ b/check-hottest.py	2010-01-26 08:21:53 +0000
@@ -22,10 +22,21 @@
         sys.stdout, sys.stderr)
 
 
-def get_package_names(name):
+class Package(object):
+    """A package we are going to check.
+    
+    :ivar name: The name of the package.
+    """
+
+    def __init__(self, line):
+        line = line.strip()
+        self.name = line
+
+
+def get_packages(name):
     f = open(name, 'rb')
     try:
-        return [s.strip() for s in f]
+        return [Package(s) for s in f]
     finally:
         f.close()
     
@@ -48,9 +59,9 @@
                              'hottest-projects.txt')
                ]
 
-    package_names = get_package_names(args[0])
+    packages = get_packages(args[0])
     if opts.count is not None:
-        package_names = package_names[:opts.count]
+        packages = packages[:opts.count]
 
     setup_bzrlib()
 
@@ -65,11 +76,11 @@
 
     today = datetime.datetime.now()
     reuse_transports = []
-    for package in package_names:
-        print package
+    for package in packages:
+        print package.name
         try:
             package_branch_url = 'lp:ubuntu/%s' % (
-                package)
+                package.name)
             package_bzrdir = bzrdir.BzrDir.open(package_branch_url,
                 possible_transports=reuse_transports)
             reuse_transports = [package_bzrdir.transport]




More information about the bazaar-commits mailing list