[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