[Checkins] SVN: z3c.pypimirror/trunk/src/z3c/pypimirror/mirror.py integrated OptionParser

Andreas Jung andreas at andreas-jung.com
Thu Aug 28 14:58:30 EDT 2008


Log message for revision 90555:
  integrated OptionParser
  

Changed:
  U   z3c.pypimirror/trunk/src/z3c/pypimirror/mirror.py

-=-
Modified: z3c.pypimirror/trunk/src/z3c/pypimirror/mirror.py
===================================================================
--- z3c.pypimirror/trunk/src/z3c/pypimirror/mirror.py	2008-08-28 18:44:58 UTC (rev 90554)
+++ z3c.pypimirror/trunk/src/z3c/pypimirror/mirror.py	2008-08-28 18:58:30 UTC (rev 90555)
@@ -2,10 +2,12 @@
 import xmlrpclib
 import sys
 import util
+import shutil
 import urllib 
 import urllib2
 import time
 import ConfigParser
+import optparse
 from glob import fnmatch
 from md5 import md5
 from BeautifulSoup import BeautifulSoup
@@ -273,11 +275,7 @@
     def rmr(self, path):
         """ delete a package recursively (not really.)
         """
-        # delete files
-        for filename in os.listdir(path):
-            os.unlink(os.path.join(path, filename))
-        # delete dir
-        os.rmdir(path)
+        shutil.rmtree(path)
 
     def ls(self):
         filenames = []
@@ -538,9 +536,11 @@
 
 
 def run(args=None):
-    if args is None:
-        args = sys.argv[1:]
 
+    parser = optparse.OptionParser()
+    parser.add_option('-v', '--verbose', dest='verbose', action='store_true',
+                      default=False, help='verbose on')
+    options, args = parser.parse_args()
     if len(args) != 1:
         print "Usage: mirror <config-file>"
         sys.exit(1)
@@ -553,7 +553,7 @@
     package_matches = config["package_matches"].split()
     cleanup = config["cleanup"] in ("True", "1")
     create_indexes = config["create_indexes"] in ("True", "1")
-    verbose = config["verbose"] in ("True", "1")
+    verbose = config["verbose"] in ("True", "1") or options.verbose
     external_links = config["external_links"] in ("True", "1")
 
     package_list = PypiPackageList().list(package_matches)



More information about the Checkins mailing list