[Checkins] SVN: zope.password/branches/ulif-zpasswd/src/zope/password/zpasswd.py * Get version from pkgresource.

Uli Fouquet uli at gnufix.de
Fri May 7 09:48:10 EDT 2010


Log message for revision 112132:
  * Get version from pkgresource.
  
  * Make SSHA password manager the default.
  

Changed:
  U   zope.password/branches/ulif-zpasswd/src/zope/password/zpasswd.py

-=-
Modified: zope.password/branches/ulif-zpasswd/src/zope/password/zpasswd.py
===================================================================
--- zope.password/branches/ulif-zpasswd/src/zope/password/zpasswd.py	2010-05-07 13:44:05 UTC (rev 112131)
+++ zope.password/branches/ulif-zpasswd/src/zope/password/zpasswd.py	2010-05-07 13:48:10 UTC (rev 112132)
@@ -17,14 +17,12 @@
 """
 import optparse
 import os
+import pkg_resources
 import sys
 from xml.sax.saxutils import quoteattr
 
-from zope.app.applicationcontrol import zopeversion
+VERSION = pkg_resources.get_distribution('zope.password').version
 
-
-# TODO: We need to resolve code duplication in zpasswd.py and mkzopeinstance.py
-
 def main(argv=None):
     """Top-level script function to create a new principals."""
     if argv is None:
@@ -192,18 +190,23 @@
             return value
 
     def get_password_manager(self):
+        default = 0
         self.print_message("Password manager:")
         print
         managers = self.options.managers
+
         for i, (name, manager) in enumerate(managers):
             print "% i. %s" % (i + 1, name)
+            if name == 'SSHA':
+                default = i
         print
         self.need_blank_line = True
         while True:
             password_manager = self.read_input_line(
-                "Password Manager Number [1]: ")
+                "Password Manager Number [%s]: " % (default + 1))
             if not password_manager:
                 index = 0
+                index = default
                 break
             elif password_manager.isdigit():
                 index = int(password_manager)
@@ -260,10 +263,10 @@
 def parse_args(argv):
     """Parse the command line, returning an object representing the input."""
     path, prog = os.path.split(os.path.realpath(argv[0]))
-    version = "%prog for " + zopeversion.ZopeVersionUtility.getZopeVersion()
+    #version = "%prog %s " % VERSION
     p = optparse.OptionParser(prog=prog,
                               usage="%prog [options]",
-                              version=version)
+                              version=VERSION)
     p.add_option("-c", "--config", dest="config", metavar="FILE",
         help=("path to the site.zcml configuration file"
         " (more accurate but slow password managers registry creation)"))
@@ -273,7 +276,7 @@
     options, args = p.parse_args(argv[1:])
     options.managers = get_password_managers(options.config)
     options.program = prog
-    options.version = version
+    options.version = VERSION
     if args:
         p.error("too many arguments")
     return options



More information about the checkins mailing list