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

gaurav at macports.org gaurav at macports.org
Mon May 19 14:55:18 PDT 2014


Revision: 120224
          https://trac.macports.org/changeset/120224
Author:   gaurav at macports.org
Date:     2014-05-19 14:55:18 -0700 (Mon, 19 May 2014)
Log Message:
-----------
Updated with argparse module

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

Modified: branches/gsoc14-pip2port/tester.py
===================================================================
--- branches/gsoc14-pip2port/tester.py	2014-05-19 21:48:44 UTC (rev 120223)
+++ branches/gsoc14-pip2port/tester.py	2014-05-19 21:55:18 UTC (rev 120224)
@@ -1,6 +1,7 @@
 # -*- coding: utf-8 -*-
 #! /usr/bin/env python
 
+import argparse
 import sys
 try:
     import xmlrpclib
@@ -9,11 +10,10 @@
 
 client = xmlrpclib.ServerProxy('http://pypi.python.org/pypi')
 
-
 def list_all():
-    list_packages=client.list_packages()
+    list_packages = client.list_packages()
     for package in list_packages:
-	print package
+        print package
 
 def search(str):
     values=client.search({'name':str})[0]
@@ -26,21 +26,40 @@
     for key in values.keys():
         print key,'-->',values[key]
 
-def main(argv):
-    for opt in argv:
-        if opt == 'list_all':
-            list_all()
-	    sys.exit()	
-	elif opt == 'search':
-	    name=argv[argv.index('search')+1]
-	    search(name)
-	    sys.exit()	
-	elif opt=='data':
-	    name=argv[argv.index('data')+1]
-	    data(name)
-	    sys.exit()	
-	else:
-            print 'usage: tester.py search <package_name>'
+def main(args=None):
+    parser = argparse.ArgumentParser(description='pip2port tester script.')
 
+    parser.add_argument('package_name', 
+                       metavar='package_name', type=str, nargs='?', 
+                       help='Package_Name')
+    parser.add_argument('-l', '--list_packages', action='store_const', 
+                       dest='action', const='list_packages', required=False,
+                       help='List all packages')
+    parser.add_argument('-s', '--search', action='store_const',
+                       dest='action', const='search', required=False,
+                       help='Search for a package by <package_name>')
+    parser.add_argument('-d', '--data', action='store_const',
+                       dest='action', const='data', required=False,
+                       help='Releases data for a package by <package_name>')
+    
+
+    options=parser.parse_args()
+#    options=parser.parse_args('-s S1'.split())
+#    print options
+
+    if options.action == 'list_packages':
+        list_all()
+        return
+
+    if options.action == 'search':
+#        print options.package_name
+        search(options.package_name)
+        return
+
+    if options.action == 'data':
+        data(options.package_name)
+        return
+
+
 if __name__ == "__main__":
-    main(sys.argv[1:])
+    main()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140519/e6e9b543/attachment.html>


More information about the macports-changes mailing list