Code

version info in scripts
authorrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Mon, 5 Apr 2004 23:43:04 +0000 (23:43 +0000)
committerrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Mon, 5 Apr 2004 23:43:04 +0000 (23:43 +0000)
git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@2257 57a73879-2fb5-44c3-a270-3262357dd7e2

CHANGES.txt
doc/installation.txt
roundup/admin.py
roundup/backends/__init__.py
roundup/scripts/roundup_mailgw.py
roundup/scripts/roundup_server.py
test/test_actions.py

index 5f1a1e4ca6ff0151d5f5e1d54f5ccfcd06fb85ce..e8b290a3aeaee1125e0df1af08fba1d635935ced 100644 (file)
@@ -20,6 +20,7 @@ Fixed:
 - all uses of TRACKER_WEB now ensure it ends with a '/'
 - roundup-admin install checks for existing tracker in target home
 - grouping (and sorting) by multilink in RDBMS backends (sf bug 655702)
+- roundup scripts may now be asked for their version (sf rfe 798657)
 
 
 2004-03-27 0.7.0b2
index 6577d1abadfdb298065c1767f919a7aa0a1a23a2..17573c1597e5f7f631ca0ad0df60c3aab0ea844e 100644 (file)
@@ -2,7 +2,7 @@
 Installing Roundup
 ==================
 
-:Version: $Revision: 1.71 $
+:Version: $Revision: 1.72 $
 
 .. contents::
 
@@ -499,7 +499,7 @@ addresses, databases to back up, etc.
    a new property to your issues called Product, and filter by that. See
    the customisation example `adding a new field to the classic schema`_.
 2. Do you want to track internal software development issues and customer
-   support issues separately? You can just set up an additiona "issue"
+   support issues separately? You can just set up an additional "issue"
    class called "cust_issues" in the same tracker, mimicing the normal
    "issue" class, but with different properties. See the customisation
    example `tracking different types of issues`_.
index 57a7a0cfc5b825f6905d00d6dee5d4daf8ab5c37..2fe8c6f53951515ff63e409637fafe5949b4062e 100644 (file)
@@ -16,7 +16,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: admin.py,v 1.66 2004-04-05 06:24:06 richard Exp $
+# $Id: admin.py,v 1.67 2004-04-05 23:43:03 richard Exp $
 
 '''Administration commands for maintaining Roundup trackers.
 '''
@@ -1314,7 +1314,7 @@ Date format is "YYYY-MM-DD" eg:
 
     def main(self):
         try:
-            opts, args = getopt.getopt(sys.argv[1:], 'i:u:hcdsS:')
+            opts, args = getopt.getopt(sys.argv[1:], 'i:u:hcdsS:v')
         except getopt.GetoptError, e:
             self.usage(str(e))
             return 1
@@ -1334,6 +1334,9 @@ Date format is "YYYY-MM-DD" eg:
             if opt == '-h':
                 self.usage()
                 return 0
+            if opt == '-v':
+                print '%s (python %s)'%(roundup_version, sys.version.split()[0])
+                return 0
             if opt == '-i':
                 self.tracker_home = arg
             if opt == '-c':
index ecacacb8dfb3f6fed392c9990de41268a94c1cf9..0b7ddebd73b23e75d61ba821b9dc6c7953b56224 100644 (file)
@@ -15,7 +15,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: __init__.py,v 1.26 2004-02-11 23:55:08 richard Exp $
+# $Id: __init__.py,v 1.27 2004-04-05 23:43:03 richard Exp $
 
 '''Container for the hyperdb storage backend implementations.
 
@@ -26,8 +26,8 @@ __docformat__ = 'restructuredtext'
 
 __all__ = []
 
-for backend in ['anydbm', ('mysql', 'MySQLdb'), 'bsddb', 'bsddb3', 'sqlite',
-                'metakit', ('postgresql', 'psycopg')]:
+for backend in ['anydbm', ('mysql', 'MySQLdb'), ('bsddb', '_bsddb'),
+        'bsddb3', 'sqlite', 'metakit', ('postgresql', 'psycopg')]:
     if len(backend) == 2:
         backend, backend_module = backend
     else:
index 5b6905c503e8b4d2f71973ada512f5721f8cee97..8695aee377e7d69c722a0335973e940e61439eb3 100644 (file)
@@ -14,7 +14,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: roundup_mailgw.py,v 1.11 2004-02-11 23:55:10 richard Exp $
+# $Id: roundup_mailgw.py,v 1.12 2004-04-05 23:43:03 richard Exp $
 
 """Command-line script stub that calls the roundup.mailgw.
 """
@@ -22,6 +22,7 @@ __docformat__ = 'restructuredtext'
 
 # python version check
 from roundup import version_check
+from roundup import __version__ as roundup_version
 
 import sys, os, re, cStringIO, getopt
 
@@ -31,9 +32,12 @@ from roundup.i18n import _
 def usage(args, message=None):
     if message is not None:
         print message
-    print _('Usage: %(program)s [[-C class] -S field=value]* <instance '
+    print _('Usage: %(program)s [-v] [[-C class] -S field=value]* <instance '
         'home> [method]')%{'program': args[0]}
     print _('''
+Options:
+ -v: print version and exit
+ -C / -S: see below
 
 The roundup mail gateway may be called in one of three ways:
  . with an instance home as the only argument,
@@ -85,12 +89,17 @@ def main(argv):
     # take the argv array and parse it leaving the non-option
     # arguments in the args array.
     try:
-        optionsList, args = getopt.getopt(argv[1:], 'C:S:', ['set=', 'class='])
+        optionsList, args = getopt.getopt(argv[1:], 'vC:S:', ['set=', 'class='])
     except getopt.GetoptError:
         # print help information and exit:
         usage(argv)
         sys.exit(2)
 
+    for (opt, arg) in optionsList:
+        if opt == '-v':
+            print '%s (python %s)'%(roundup_version, sys.version.split()[0])
+            return
+
     # figure the instance home
     if len(args) > 0:
         instance_home = args[0]
index fa326377ae782eb41b667d4ff9d56ea51049bf37..c14cdf6abf597b70ae1e60422ce2b9333164cac8 100644 (file)
 
 """Command-line script that runs a server over roundup.cgi.client.
 
-$Id: roundup_server.py,v 1.42 2004-04-05 00:54:23 richard Exp $
+$Id: roundup_server.py,v 1.43 2004-04-05 23:43:04 richard Exp $
 """
 __docformat__ = 'restructuredtext'
 
 # python version check
 from roundup import version_check
+from roundup import __version__ as roundup_version
 
 import sys, os, urllib, StringIO, traceback, cgi, binascii, getopt, imp
 import BaseHTTPServer, socket, errno
@@ -350,6 +351,7 @@ Usage:
 roundup-server [options] [name=tracker home]*
 
 options:
+ -v: print version and exit
  -n: sets the host name
  -p: sets the port to listen on (default: %(port)s)
  -u: sets the uid to this user after listening on the port
@@ -397,9 +399,9 @@ def daemonize(pidfile):
         pidfile = open(pidfile, 'w')
         pidfile.write(str(pid))
         pidfile.close()
-        os._exit(0)         
+        os._exit(0)
 
-    os.chdir("/")         
+    os.chdir("/")
     os.umask(0)
 
     # close off sys.std(in|out|err), redirect to devnull so the file
@@ -426,7 +428,7 @@ def run(port=PORT, success_message=None):
 
     try:
         # handle the command-line args
-        options = 'n:p:u:d:l:hN'
+        options = 'n:p:u:d:l:hNv'
         if RoundupService:
             options += 'c'
 
@@ -439,6 +441,9 @@ def run(port=PORT, success_message=None):
         group = None
         for (opt, arg) in optlist:
             if opt == '-n': hostname = arg
+            elif opt == '-v':
+                print '%s (python %s)'%(roundup_version, sys.version.split()[0])
+                return
             elif opt == '-p': port = int(arg)
             elif opt == '-u': user = arg
             elif opt == '-g': group = arg
index d7a2c91a8976513624907f351c6cfe2c531b62d5..0728246b1c2a26d41d7f9133fb0b5945fec12f9d 100755 (executable)
@@ -57,7 +57,7 @@ class ShowActionTestCase(ActionTestCase):
             raise self.failureException, excName\r
 \r
     def testShowAction(self):\r
-        self.client.db.config.TRACKER_WEB = 'BASE/'\r
+        self.client.base = 'BASE/'\r
 \r
         action = ShowAction(self.client)\r
         self.assertRaises(ValueError, action.handle)\r