[120256] branches/gsoc14-pip2port/tester.py

gaurav at macports.org gaurav at macports.org
Tue May 20 13:48:49 PDT 2014


Revision: 120256
          https://trac.macports.org/changeset/120256
Author:   gaurav at macports.org
Date:     2014-05-20 13:48:49 -0700 (Tue, 20 May 2014)
Log Message:
-----------
Improved error messages and support for normal search

Modified Paths:
--------------
    branches/gsoc14-pip2port/tester.py

Modified: branches/gsoc14-pip2port/tester.py
===================================================================
--- branches/gsoc14-pip2port/tester.py	2014-05-20 20:27:28 UTC (rev 120255)
+++ branches/gsoc14-pip2port/tester.py	2014-05-20 20:48:49 UTC (rev 120256)
@@ -15,16 +15,35 @@
     for package in list_packages:
         print package
 
-def search(str):
-    values=client.search({'name':str})[0]
-    for key in values.keys():
-        print key,'-->',values[key]
+def search(pkg_name):
+    print "\n"
+    values=client.search({'name':pkg_name})
+    for value in values:
+        for key in value.keys():
+            print key,'-->',value[key]
+        print "\n"
 
-def data(str):
-    version=client.search({'name':str})[0]['version']
-    values=client.release_data(str,version)
-    for key in values.keys():
-        print key,'-->',values[key]
+def data(pkg_name,pkg_versions=None):
+    print "\n"
+    if pkg_versions == None:
+        version = client.search({'name':pkg_name})[0]['version']
+        values = client.release_data(pkg_name,version)
+        if not values == None:
+            for key in values.keys():
+                print key,'-->',values[key]
+        else:
+            print "No such package found."
+            print "Please specify the exact package name."
+    else:
+        for version in pkg_versions:
+            values = client.release_data(pkg_name,version)
+            if not values == None:
+                for key in values.keys():
+                    print key,'-->',values[key]
+            else:
+                print "No such package found."
+                print "Please specify the exact package name."
+    print "\n"
 
 def main(args=None):
     parser = argparse.ArgumentParser(description='pip2port tester script.')
@@ -32,6 +51,9 @@
     parser.add_argument('package_name', 
                        metavar='package_name', type=str, nargs='?', 
                        help='Package_Name')
+    parser.add_argument('package_version', 
+                       metavar='package_version', type=str, nargs='*', 
+                       help='Package_Version')
     parser.add_argument('-l', '--list_packages', action='store_const', 
                        dest='action', const='list_packages', required=False,
                        help='List all packages')
@@ -44,7 +66,6 @@
     
 
     options=parser.parse_args()
-#    options=parser.parse_args('-s S1'.split())
 #    print options
 
     if options.action == 'list_packages':
@@ -52,13 +73,18 @@
         return
 
     if options.action == 'search':
-#        print options.package_name
-        search(options.package_name)
+        if options.package_name == None:
+            parser.error("No package name specified")
+        else:
+            search(options.package_name)
         return
 
     if options.action == 'data':
         data(options.package_name)
         return
+    else:
+#        parser.print_help()
+        parser.error("No input specified")
 
 
 if __name__ == "__main__":
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140520/ba3981ba/attachment.html>


More information about the macports-changes mailing list