[Checkins] SVN: z3c.dependencychecker/trunk/ Using optparse for parsing commandline now. Added --help and --version.

Reinout van Rees reinout at vanrees.org
Thu Dec 17 11:15:52 EST 2009


Log message for revision 106704:
  Using optparse for parsing commandline now.  Added --help and --version.

Changed:
  U   z3c.dependencychecker/trunk/CHANGES.txt
  U   z3c.dependencychecker/trunk/src/z3c/dependencychecker/dependencychecker.py
  U   z3c.dependencychecker/trunk/src/z3c/dependencychecker/tests/dependencychecker.txt

-=-
Modified: z3c.dependencychecker/trunk/CHANGES.txt
===================================================================
--- z3c.dependencychecker/trunk/CHANGES.txt	2009-12-17 15:48:41 UTC (rev 106703)
+++ z3c.dependencychecker/trunk/CHANGES.txt	2009-12-17 16:15:52 UTC (rev 106704)
@@ -4,7 +4,7 @@
 1.1 (unreleased)
 ----------------
 
-- Nothing changed yet.
+- Using optparse for parsing commandline now.  Added --help and --version.
 
 
 1.0 (2009-12-10)

Modified: z3c.dependencychecker/trunk/src/z3c/dependencychecker/dependencychecker.py
===================================================================
--- z3c.dependencychecker/trunk/src/z3c/dependencychecker/dependencychecker.py	2009-12-17 15:48:41 UTC (rev 106703)
+++ z3c.dependencychecker/trunk/src/z3c/dependencychecker/dependencychecker.py	2009-12-17 16:15:52 UTC (rev 106704)
@@ -13,6 +13,7 @@
 ##############################################################################
 import commands
 import fnmatch
+import optparse
 import os
 import re
 import sys
@@ -258,9 +259,9 @@
         print
 
 
-def determine_path():
-    if len(sys.argv) > 1:
-        path = sys.argv[1]
+def determine_path(args):
+    if len(args) > 0:
+        path = args[0]
     else:
         # Default
         path = os.path.join(os.getcwd(), 'src')
@@ -271,8 +272,17 @@
     return path
 
 
+def _version():
+    ourselves = pkg_resources.require('z3c.dependencychecker')[0]
+    return ourselves.version
+
+
 def main():
-    path = determine_path()
+    usage = "Usage: %prog [path]\n  (path defaults to 'src')"
+    parser = optparse.OptionParser(usage=usage, version=_version())
+    (options, args) = parser.parse_args()
+    path = determine_path(args)
+
     db = importchecker.ImportDatabase(path)
     # TODO: find zcml files
     db.findModules()

Modified: z3c.dependencychecker/trunk/src/z3c/dependencychecker/tests/dependencychecker.txt
===================================================================
--- z3c.dependencychecker/trunk/src/z3c/dependencychecker/tests/dependencychecker.txt	2009-12-17 15:48:41 UTC (rev 106703)
+++ z3c.dependencychecker/trunk/src/z3c/dependencychecker/tests/dependencychecker.txt	2009-12-17 16:15:52 UTC (rev 106704)
@@ -215,27 +215,27 @@
 Determining the path
 --------------------
 
-The main test flow already finds the by-default src dir.  We test two corner
-cases here:
+The default case ("just pick src/ in the current dir") is tested by the main
+flow.  Here we test corner cases.
 
 Pass the path on the command line:
 
-    >>> sys.argv[1:] = [newtempdir]
-    >>> dependencychecker.determine_path() == newtempdir
+    >>> args = [newtempdir]
+    >>> dependencychecker.determine_path(args) == newtempdir
     True
 
 Pass a non-existing path:
 
-    >>> sys.argv[1:] = ['/does/not/exist']
-    >>> dependencychecker.determine_path()
+    >>> args = ['/does/not/exist']
+    >>> dependencychecker.determine_path(args)
     Traceback (most recent call last):
     ...
     MockExitException: 1
     
 Pass a file instead of a directory:
 
-    >>> sys.argv[1:] = [setup_py]
-    >>> dependencychecker.determine_path()
+    >>> args = [setup_py]
+    >>> dependencychecker.determine_path(args)
     Traceback (most recent call last):
     ...
     MockExitException: 1



More information about the checkins mailing list