Code

More cleaning up of configuration, and the "instance" -> "tracker"
authorrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Tue, 10 Sep 2002 03:01:20 +0000 (03:01 +0000)
committerrichard <richard@57a73879-2fb5-44c3-a270-3262357dd7e2>
Tue, 10 Sep 2002 03:01:20 +0000 (03:01 +0000)
renaming.

git-svn-id: http://svn.roundup-tracker.org/svnroot/roundup/trunk@1117 57a73879-2fb5-44c3-a270-3262357dd7e2

18 files changed:
cgi-bin/roundup.cgi
doc/customizing.txt
doc/getting_started.txt
doc/installation.txt
doc/upgrading.txt
frontends/ZRoundup/ZRoundup.py
frontends/ZRoundup/__init__.py
roundup/admin.py
roundup/cgi/client.py
roundup/cgi/templating.py
roundup/mailgw.py
roundup/roundupdb.py
roundup/scripts/roundup_server.py
roundup/templates/classic/config.py
roundup/templates/classic/html/home.classlist
scripts/roundup-reminder
test/test_db.py
test/test_schema.py

index 8869383ff696378a85d8fdfe6b90e1aa371d0e34..80327052e867cefc34acf26055bcda5b595e18cf 100755 (executable)
@@ -16,7 +16,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: roundup.cgi,v 1.30 2002-09-10 01:07:05 richard Exp $
+# $Id: roundup.cgi,v 1.31 2002-09-10 03:01:17 richard Exp $
 
 # python version check
 from roundup import version_check
@@ -32,7 +32,7 @@ import sys
 # documented below are set, they _override_ any configuation defaults
 # given in this file. 
 
-# ROUNDUP_INSTANCE_HOMES is a list of instances, in the form
+# TRACKER_HOMES is a list of instances, in the form
 # "NAME=DIR<sep>NAME2=DIR2<sep>...", where <sep> is the directory path
 # separator (";" on Windows, ":" on Unix). 
 
@@ -43,7 +43,7 @@ import sys
 # used in the code. Higher numbers means more debugging output. 
 
 # This indicates where the Roundup instance lives
-ROUNDUP_INSTANCE_HOMES = {
+TRACKER_HOMES = {
     'demo': '/var/roundup/instances/demo',
 }
 
@@ -81,11 +81,16 @@ except:
 #
 def checkconfig():
     import os, string
-    global ROUNDUP_INSTANCE_HOMES, LOG
+    global TRACKER_HOMES, LOG
 
-    homes = os.environ.get('ROUNDUP_INSTANCE_HOMES', '')
+    # see if there's an environment var. ROUNDUP_INSTANCE_HOMES is the
+    # old name for it.
+    if os.environ.has_key('ROUNDUP_INSTANCE_HOMES'):
+        homes = os.environ.get('ROUNDUP_INSTANCE_HOMES')
+    else:
+        homes = os.environ.get('TRACKER_HOMES', '')
     if homes:
-        ROUNDUP_INSTANCE_HOMES = {}
+        TRACKER_HOMES = {}
         for home in string.split(homes, os.pathsep):
             try:
                 name, dir = string.split(home, '=', 1)
@@ -93,7 +98,7 @@ def checkconfig():
                 # ignore invalid definitions
                 continue
             if name and dir:
-                ROUNDUP_INSTANCE_HOMES[name] = dir
+                TRACKER_HOMES[name] = dir
                 
     logname = os.environ.get('ROUNDUP_LOG', '')
     if logname:
@@ -129,9 +134,9 @@ def main(out, err):
     request = RequestWrapper(out)
     request.path = os.environ.get('PATH_INFO', '/')
     instance = path[1]
-    os.environ['INSTANCE_NAME'] = instance
+    os.environ['TRACKER_NAME'] = instance
     os.environ['PATH_INFO'] = string.join(path[2:], '/')
-    if ROUNDUP_INSTANCE_HOMES.has_key(instance):
+    if TRACKER_HOMES.has_key(instance):
         # redirect if we need a trailing '/'
         if len(path) == 2:
             request.send_response(301)
@@ -141,7 +146,7 @@ def main(out, err):
             request.end_headers()
             out.write('Moved Permanently')
         else:
-            instance_home = ROUNDUP_INSTANCE_HOMES[instance]
+            instance_home = TRACKER_HOMES[instance]
             instance = roundup.instance.open(instance_home)
             from roundup.cgi.client import Unauthorised, NotFound
             client = instance.Client(instance, request, os.environ)
@@ -166,7 +171,7 @@ def main(out, err):
         w = request.write
         w(_('<html><head><title>Roundup instances index</title></head>\n'))
         w(_('<body><h1>Roundup instances index</h1><ol>\n'))
-        homes = ROUNDUP_INSTANCE_HOMES.keys()
+        homes = TRACKER_HOMES.keys()
         homes.sort()
         for instance in homes:
             w(_('<li><a href="%(instance_url)s/index">%(instance_name)s</a>\n')%{
index 118ec15f377c571b835aec6a0869052513809727..00ccea6e9a020c3f28bba503258bd0cc2787a20b 100644 (file)
@@ -2,7 +2,7 @@
 Customising Roundup
 ===================
 
-:Version: $Revision: 1.24 $
+:Version: $Revision: 1.25 $
 
 .. This document borrows from the ZopeBook section on ZPT. The original is at:
    http://www.zope.org/Documentation/Books/ZopeBook/current/ZPT.stx
@@ -57,7 +57,7 @@ The config.py located in your tracker home contains the basic
 configuration for the web and e-mail components of roundup's interfaces. This
 file is a Python module. The configuration variables available are:
 
-**INSTANCE_HOME** - ``os.path.split(__file__)[0]``
+**TRACKER_HOME** - ``os.path.split(__file__)[0]``
  The tracker home directory. The above default code will automatically
  determine the tracker home for you.
 
@@ -67,23 +67,23 @@ file is a Python module. The configuration variables available are:
 **MAIL_DOMAIN** - ``'your.tracker.email.domain.example'``
  The domain name used for email addresses.
 
-**DATABASE** - ``os.path.join(INSTANCE_HOME, 'db')``
+**DATABASE** - ``os.path.join(TRACKER_HOME, 'db')``
  This is the directory that the database is going to be stored in. By default
  it is in the tracker home.
 
-**TEMPLATES** - ``os.path.join(INSTANCE_HOME, 'html')``
+**TEMPLATES** - ``os.path.join(TRACKER_HOME, 'html')``
  This is the directory that the HTML templates reside in. By default they are
  in the tracker home.
 
-**INSTANCE_NAME** - ``'Roundup issue tracker'``
+**TRACKER_NAME** - ``'Roundup issue tracker'``
  A descriptive name for your roundup tracker. This is sent out in e-mails and
  appears in the heading of CGI pages.
 
-**ISSUE_TRACKER_EMAIL** - ``'issue_tracker@%s'%MAIL_DOMAIN``
+**TRACKER_EMAIL** - ``'issue_tracker@%s'%MAIL_DOMAIN``
  The email address that e-mail sent to roundup should go to. Think of it as the
  tracker's personal e-mail address.
 
-**ISSUE_TRACKER_WEB** - ``'http://your.tracker.url.example/'``
+**TRACKER_WEB** - ``'http://your.tracker.url.example/'``
  The web address that the tracker is viewable at. This will be included in
  information sent to users of the tracker.
 
@@ -126,7 +126,7 @@ can see, the MAIL_DOMAIN must be edited before any interaction with the
 tracker is attempted.::
 
     # roundup home is this package's directory
-    INSTANCE_HOME=os.path.split(__file__)[0]
+    TRACKER_HOME=os.path.split(__file__)[0]
 
     # The SMTP mail host that roundup will use to send mail
     MAILHOST = 'localhost'
@@ -135,26 +135,23 @@ tracker is attempted.::
     MAIL_DOMAIN = 'your.tracker.email.domain.example'
 
     # This is the directory that the database is going to be stored in
-    DATABASE = os.path.join(INSTANCE_HOME, 'db')
+    DATABASE = os.path.join(TRACKER_HOME, 'db')
 
     # This is the directory that the HTML templates reside in
-    TEMPLATES = os.path.join(INSTANCE_HOME, 'html')
+    TEMPLATES = os.path.join(TRACKER_HOME, 'html')
 
     # A descriptive name for your roundup tracker
-    INSTANCE_NAME = 'Roundup issue tracker'
+    TRACKER_NAME = 'Roundup issue tracker'
 
     # The email address that mail to roundup should go to
-    ISSUE_TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
+    TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
 
     # The web address that the tracker is viewable at
-    ISSUE_TRACKER_WEB = 'http://your.tracker.url.example/'
+    TRACKER_WEB = 'http://your.tracker.url.example/'
 
     # The email address that roundup will complain to if it runs into trouble
     ADMIN_EMAIL = 'roundup-admin@%s'%MAIL_DOMAIN
 
-    # Somewhere for roundup to log stuff internally sent to stdout or stderr
-    LOG = os.path.join(INSTANCE_HOME, 'roundup.log')
-
     # Send nosy messages to the author of the message
     MESSAGES_TO_AUTHOR = 'no'           # either 'yes' or 'no'
 
index d58bbea74b4c1fece22cdca5ccb527867c083017..689967a039fc4435de36495fd964d6223dd1edc9 100644 (file)
@@ -2,7 +2,7 @@
 Getting Started
 ===============
 
-:Version: $Revision: 1.6 $
+:Version: $Revision: 1.7 $
 
 .. contents::
 
@@ -62,12 +62,12 @@ MAILHOST
    The SMTP mail host that roundup will use to send mail
 MAIL_DOMAIN
    The domain name used for email addresses
-ISSUE_TRACKER_WEB
+TRACKER_WEB
    The web address of the issue tracker's web interface
 
 The email addresses used by the system by default are:
 
-ISSUE_TRACKER_EMAIL: ``issue_tracker@MAIL_DOMAIN``
+TRACKER_EMAIL: ``issue_tracker@MAIL_DOMAIN``
    submissions of issues
 
 ADMIN_EMAIL: ``roundup-admin@MAIL_DOMAIN``
@@ -136,21 +136,21 @@ Web Interface
 This software will work through apache or stand-alone.
 
 Stand-alone:
-  1. Edit roundup-server at the top - ``ROUNDUP_INSTANCE_HOMES`` needs to know
+  1. Edit roundup-server at the top - ``TRACKER_HOMES`` needs to know
      about your tracker. You may also specify the values for
-     ``ROUNDUP_INSTANCE_HOMES`` on the command-line using "name=home" pairs.
+     ``TRACKER_HOMES`` on the command-line using "name=home" pairs.
     
   2. "``roundup-server [-p port] (name=tracker_home)*``" (hostname may be "")
   
   3. Load up the page "``/<tracker name>/index``" where tracker name is the name
-     you nominated in ``ROUNDUP_INSTANCE_HOMES``.
+     you nominated in ``TRACKER_HOMES``.
 
 Apache:
   1. The CGI script is found in the cgi-bin directory of the roundup
      distribution.
      
   2. Make sure roundup.cgi is executable. Edit it at the top -
-     ``ROUNDUP_INSTANCE_HOMES`` needs to know about your tracker.
+     ``TRACKER_HOMES`` needs to know about your tracker.
      
   3. Edit your "``/etc/httpd/conf/httpd.conf``" and make sure that the
      "``/home/httpd/html/roundup/roundup.cgi``" script will be treated as a CGI script.
@@ -158,13 +158,13 @@ Apache:
   4. Re-start your apache to re-load the config if necessary.
   
   5. Load up the page "``/roundup/roundup.cgi/index/``" where tracker name is the
-     name you nominated in ``ROUNDUP_INSTANCE_HOMES``.
+     name you nominated in ``TRACKER_HOMES``.
      
   6. To use the CGI script unchanged, which allows much easier updates, add
      these directives to your "httpd.conf"::
      
          SetEnv ROUNDUP_LOG "/var/log/roundup.log"
-         SetEnv ROUNDUP_INSTANCE_HOMES "Default=/usr/local/share/roundup/trackers/Default"
+         SetEnv TRACKER_HOMES "Default=/usr/local/share/roundup/trackers/Default"
          SetEnv ROUNDUP_DEBUG "0"
 
   7. On Windows, write a batch file "roundup.bat" similar to the one below and
@@ -172,7 +172,7 @@ Apache:
       
          @echo off
          set ROUNDUP_LOG=c:\Python21\share\roundup\cgi.log
-         set ROUNDUP_INSTANCE_HOMES=Default=c:\Python21\share\roundup\trackers\Default;
+         set TRACKER_HOMES=Default=c:\Python21\share\roundup\trackers\Default;
          set ROUNDUP_DEBUG=0
          c:\Python21\python.exe c:\Python21\share\roundup\cgi-bin\roundup.cgi
 
index b9f05ad29e895ee5673f4b1f53f108c7d3877188..a39595cdeadd38877ed0f044a84843eee08ecc00 100644 (file)
@@ -2,7 +2,7 @@
 Installing Roundup
 ==================
 
-:Version: $Revision: 1.22 $
+:Version: $Revision: 1.23 $
 
 .. contents::
 
@@ -240,7 +240,7 @@ ZRoundup
 Install roundup as usual (see installation_).
 
 ZRoundup installs as a regular Zope product. Copy the ZRoundup directory to
-your Products directory either in an INSTANCE_HOME/Products or the Zope
+your Products directory either in an TRACKER_HOME/Products or the Zope
 code tree lib/python/Products.
 
 You will need to create the tracker using the roundup-admin tool (step 2 in
index 13f4613dbaffa50cfd3ec130a3f87b73c325bd49..7e69366d35ffab4fc08e226380301e3989113784 100644 (file)
@@ -89,6 +89,13 @@ Registration" and/or the "Email Registration" Permission from the "Anonymous"
 Role. See the section on customising security in the `customisation
 documentation`_ for more information.
 
+Finally, the following config variables have been renamed to make more sense:
+
+- INSTANCE_HOME -> TRACKER_HOME
+- INSTANCE_NAME -> TRACKER_NAME
+- ISSUE_TRACKER_WEB -> TRACKER_WEB
+- ISSUE_TRACKER_EMAIL -> TRACKER_EMAIL
+
 
 0.5.0 Schema Specification
 --------------------------
@@ -594,7 +601,7 @@ to::
 
 0.4.0 Configuration
 --------------------
-``INSTANCE_NAME`` and ``EMAIL_SIGNATURE_POSITION`` have been added to the
+``TRACKER_NAME`` and ``EMAIL_SIGNATURE_POSITION`` have been added to the
 instance_config.py. The simplest solution is to copy the default values
 from template in the core source.
 
index f97572fffbd386379d6a8a726efed9835fbe6939..6afbf7371a475c9afe498eacc433a9f1ca236e37 100644 (file)
@@ -14,7 +14,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: ZRoundup.py,v 1.12 2002-09-10 01:07:05 richard Exp $
+# $Id: ZRoundup.py,v 1.13 2002-09-10 03:01:18 richard Exp $
 #
 ''' ZRoundup module - exposes the roundup web interface to Zope
 
@@ -135,12 +135,12 @@ class ZRoundup(Item, PropertyManager, Implicit, Persistent):
         # special case when roundup is '/' in this virtual host,
         if path == "/" :
             env['SCRIPT_NAME'] = "/"
-            env['INSTANCE_NAME'] = ''
+            env['TRACKER_NAME'] = ''
         else :
             # all but the last element is the path
             env['SCRIPT_NAME'] = '/'.join( path_components[:-1] )
             # the last element is the name
-            env['INSTANCE_NAME'] = path_components[-1]
+            env['TRACKER_NAME'] = path_components[-1]
 
         if env['REQUEST_METHOD'] == 'GET':
             # force roundup to re-parse the request because Zope fiddles
index c61cf6831e197791c3cf12fc64323bc4fbfc8218..5b6f6866ff5c77dd6665eea05bfba01be8f89464 100644 (file)
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: __init__.py,v 1.2 2002-09-10 01:07:05 richard Exp $
+# $Id: __init__.py,v 1.3 2002-09-10 03:01:18 richard Exp $
 #
 __version__='1.0'
 
 import os
 # figure where ZRoundup is installed
 here = None
-if os.environ.has_key('INSTANCE_HOME'):
-    here = os.environ['INSTANCE_HOME']
+if os.environ.has_key('TRACKER_HOME'):
+    here = os.environ['TRACKER_HOME']
     path = os.path.join(here, 'Products', 'ZRoundup')
     if not os.path.exists(path):
         path = os.path.join(here, 'lib', 'python', 'Products', 'ZRoundup')
index cfa2ca42ef065bdb09e67d469948bcea4f56ae7a..fd9d9fd8d7a2f3b178f5201d1f007ab7aa0b7157 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.25 2002-09-10 00:18:20 richard Exp $
+# $Id: admin.py,v 1.26 2002-09-10 03:01:18 richard Exp $
 
 import sys, os, getpass, getopt, re, UserDict, shlex, shutil
 try:
@@ -140,7 +140,7 @@ All commands (except help) require an instance specifier. This is just the path
 to the roundup instance you're working with. A roundup instance is where 
 roundup keeps the database and configuration file that defines an issue
 tracker. It may be thought of as the issue tracker's "home directory". It may
-be specified in the environment variable ROUNDUP_INSTANCE or on the command
+be specified in the environment variable TRACKER_HOME or on the command
 line as "-i instance".
 
 A designator is a classname and a nodeid concatenated, eg. bug1, user10, ...
@@ -254,7 +254,7 @@ Command help:
         Install a new Roundup instance.
 
         The command will prompt for the instance home directory (if not supplied
-        through INSTANCE_HOME or the -i option). The template, backend and admin
+        through TRACKER_HOME or the -i option). The template, backend and admin
         password may be specified on the command-line as arguments, in that
         order.
 
@@ -1112,7 +1112,7 @@ Date format is "YYYY-MM-DD" eg:
             return 1
 
         # handle command-line args
-        self.instance_home = os.environ.get('ROUNDUP_INSTANCE', '')
+        self.instance_home = os.environ.get('TRACKER_HOME', '')
         # TODO: reinstate the user/password stuff (-u arg too)
         name = password = ''
         if os.environ.has_key('ROUNDUP_LOGIN'):
index 264814442e6a51e150a21c929dd5eea6815d35c8..06bff934d236ec721eee31260b524c8ce6519e18 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: client.py,v 1.25 2002-09-09 23:55:19 richard Exp $
+# $Id: client.py,v 1.26 2002-09-10 03:01:18 richard Exp $
 
 __doc__ = """
 WWW request handler (also used in the stand-alone server).
@@ -76,7 +76,7 @@ class Client:
 
         self.path = env['PATH_INFO']
         self.split_path = self.path.split('/')
-        self.instance_path_name = env['INSTANCE_NAME']
+        self.instance_path_name = env['TRACKER_NAME']
 
         # this is the base URL for this instance
         url = self.env['SCRIPT_NAME'] + '/' + self.instance_path_name
@@ -431,7 +431,7 @@ class Client:
         expire = Cookie._getdate(86400*365)
 
         # generate the cookie path - make sure it has a trailing '/'
-        path = '/'.join((self.env['SCRIPT_NAME'], self.env['INSTANCE_NAME'],
+        path = '/'.join((self.env['SCRIPT_NAME'], self.env['TRACKER_NAME'],
             ''))
         self.header({'Set-Cookie': 'roundup_user_2=%s; expires=%s; Path=%s;'%(
             self.session, expire, path)})
@@ -452,7 +452,7 @@ class Client:
 
         # construct the logout cookie
         now = Cookie._getdate()
-        path = '/'.join((self.env['SCRIPT_NAME'], self.env['INSTANCE_NAME'],
+        path = '/'.join((self.env['SCRIPT_NAME'], self.env['TRACKER_NAME'],
             ''))
         self.header({'Set-Cookie':
             'roundup_user_2=deleted; Max-Age=0; expires=%s; Path=%s;'%(now,
@@ -528,7 +528,7 @@ class Client:
 
         # construct the logout cookie
         now = Cookie._getdate()
-        path = '/'.join((self.env['SCRIPT_NAME'], self.env['INSTANCE_NAME'],
+        path = '/'.join((self.env['SCRIPT_NAME'], self.env['TRACKER_NAME'],
             ''))
         self.header(headers={'Set-Cookie':
           'roundup_user_2=deleted; Max-Age=0; expires=%s; Path=%s;'%(now, path)})
index eaeb6de51f79f1aa98d531edc05f3e72a8050a4f..904ee97d13af43b92e4804e702f85d7eacad43ae 100644 (file)
@@ -1104,7 +1104,7 @@ class HTMLRequest:
     def description(self):
         ''' Return a description of the request - handle for the page title.
         '''
-        s = [self.client.db.config.INSTANCE_NAME]
+        s = [self.client.db.config.TRACKER_NAME]
         if self.classname:
             if self.client.nodeid:
                 s.append('- %s%s'%(self.classname, self.client.nodeid))
index 26b66dcd4d6f8f7a52bffd68ad409eb83a4502d9..50e3cbed5b80cee753f44e95c563798f1b0efc8a 100644 (file)
@@ -73,7 +73,7 @@ are calling the create() method to create a new node). If an auditor raises
 an exception, the original message is bounced back to the sender with the
 explanatory message given in the exception. 
 
-$Id: mailgw.py,v 1.84 2002-09-10 02:37:27 richard Exp $
+$Id: mailgw.py,v 1.85 2002-09-10 03:01:18 richard Exp $
 '''
 
 import string, re, os, mimetools, cStringIO, smtplib, socket, binascii, quopri
@@ -239,8 +239,8 @@ class MailGW:
         msg = cStringIO.StringIO()
         writer = MimeWriter.MimeWriter(msg)
         writer.addheader('Subject', subject)
-        writer.addheader('From', '%s <%s>'% (self.instance.config.INSTANCE_NAME,
-            self.instance.config.ISSUE_TRACKER_EMAIL))
+        writer.addheader('From', '%s <%s>'% (self.instance.config.TRACKER_NAME,
+            self.instance.config.TRACKER_EMAIL))
         writer.addheader('To', ','.join(sendto))
         writer.addheader('MIME-Version', '1.0')
         part = writer.startmultipartbody('mixed')
@@ -561,7 +561,7 @@ Unknown address: %s
 
         # now update the recipients list
         recipients = []
-        tracker_email = self.instance.config.ISSUE_TRACKER_EMAIL.lower()
+        tracker_email = self.instance.config.TRACKER_EMAIL.lower()
         for recipient in message.getaddrlist('to') + message.getaddrlist('cc'):
             r = recipient[1].strip().lower()
             if r == tracker_email or not r:
index 9af9735dc732d9b68d6d1200e26a6438e2b70ec6..1baf624872ea59fae91186409ab58556b81b20e1 100644 (file)
@@ -15,7 +15,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: roundupdb.py,v 1.65 2002-09-10 02:37:28 richard Exp $
+# $Id: roundupdb.py,v 1.66 2002-09-10 03:01:18 richard Exp $
 
 __doc__ = """
 Extending hyperdb with types specific to issue-tracking.
@@ -214,10 +214,10 @@ class IssueClass:
         writer.addheader('Subject', '[%s%s] %s'%(cn, nodeid, title))
         writer.addheader('To', ', '.join(sendto))
         writer.addheader('From', straddr(
-                              (authname, self.db.config.ISSUE_TRACKER_EMAIL) ) )
+                              (authname, self.db.config.TRACKER_EMAIL) ) )
         writer.addheader('Reply-To', straddr( 
-                                        (self.db.config.INSTANCE_NAME,
-                                         self.db.config.ISSUE_TRACKER_EMAIL) ) )
+                                        (self.db.config.TRACKER_NAME,
+                                         self.db.config.TRACKER_EMAIL) ) )
         writer.addheader('MIME-Version', '1.0')
         if messageid:
             writer.addheader('Message-Id', messageid)
@@ -225,7 +225,7 @@ class IssueClass:
             writer.addheader('In-Reply-To', inreplyto)
 
         # add a uniquely Roundup header to help filtering
-        writer.addheader('X-Roundup-Name', self.db.config.INSTANCE_NAME)
+        writer.addheader('X-Roundup-Name', self.db.config.TRACKER_NAME)
 
         # attach files
         if message_files:
@@ -288,17 +288,17 @@ class IssueClass:
 
         # simplistic check to see if the url is valid,
         # then append a trailing slash if it is missing
-        base = self.db.config.ISSUE_TRACKER_WEB 
+        base = self.db.config.TRACKER_WEB 
         if not isinstance(base , type('')) or not base.startswith('http://'):
-            base = "Configuration Error: ISSUE_TRACKER_WEB isn't a " \
+            base = "Configuration Error: TRACKER_WEB isn't a " \
                 "fully-qualified URL"
         elif base[-1] != '/' :
             base += '/'
         web = base + 'issue'+ nodeid
 
         # ensure the email address is properly quoted
-        email = straddr((self.db.config.INSTANCE_NAME,
-            self.db.config.ISSUE_TRACKER_EMAIL))
+        email = straddr((self.db.config.TRACKER_NAME,
+            self.db.config.TRACKER_EMAIL))
 
         line = '_' * max(len(web), len(email))
         return '%s\n%s\n%s\n%s'%(line, email, web, line)
index d8060caf56911230aecbac50e0fe8c7df3278f16..5b53a0d5a93a95fffce06ab7b2ab19c6699ba214 100644 (file)
@@ -16,7 +16,7 @@
 # 
 """ HTTP Server that serves roundup.
 
-$Id: roundup_server.py,v 1.9 2002-09-10 01:07:06 richard Exp $
+$Id: roundup_server.py,v 1.10 2002-09-10 03:01:19 richard Exp $
 """
 
 # python version check
@@ -35,7 +35,7 @@ from roundup.i18n import _
 #
 
 # This indicates where the Roundup instance lives
-ROUNDUP_INSTANCE_HOMES = {
+TRACKER_HOMES = {
     'bar': '/tmp/bar',
 }
 
@@ -57,7 +57,7 @@ ROUNDUP_USER = None
 
 
 class RoundupRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
-    ROUNDUP_INSTANCE_HOMES = ROUNDUP_INSTANCE_HOMES
+    TRACKER_HOMES = TRACKER_HOMES
     ROUNDUP_USER = ROUNDUP_USER
 
     def run_cgi(self):
@@ -101,7 +101,7 @@ class RoundupRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
         w = self.wfile.write
         w(_('<html><head><title>Roundup instances index</title></head>\n'))
         w(_('<body><h1>Roundup instances index</h1><ol>\n'))
-        for instance in self.ROUNDUP_INSTANCE_HOMES.keys():
+        for instance in self.TRACKER_HOMES.keys():
             w(_('<li><a href="%(instance_url)s/index">%(instance_name)s</a>\n')%{
                 'instance_url': urllib.quote(instance),
                 'instance_name': cgi.escape(instance)})
@@ -123,8 +123,8 @@ class RoundupRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
             return self.index()
         l_path = rest.split('/')
         instance_name = urllib.unquote(l_path[1])
-        if self.ROUNDUP_INSTANCE_HOMES.has_key(instance_name):
-            instance_home = self.ROUNDUP_INSTANCE_HOMES[instance_name]
+        if self.TRACKER_HOMES.has_key(instance_name):
+            instance_home = self.TRACKER_HOMES[instance_name]
             instance = roundup.instance.open(instance_home)
         else:
             raise client.NotFound
@@ -137,7 +137,7 @@ class RoundupRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
 
         # Set up the CGI environment
         env = {}
-        env['INSTANCE_NAME'] = instance_name
+        env['TRACKER_NAME'] = instance_name
         env['REQUEST_METHOD'] = self.command
         env['PATH_INFO'] = urllib.unquote(rest)
         if query:
@@ -181,7 +181,7 @@ roundup-server [-n hostname] [-p port] [-l file] [-d file] [name=instance home]*
    instance home is the directory that was identified when you did
    "roundup-admin init". You may specify any number of these name=home
    pairs on the command-line. For convenience, you may edit the
-   ROUNDUP_INSTANCE_HOMES variable in the roundup-server file instead.
+   TRACKER_HOMES variable in the roundup-server file instead.
 ''')%locals()
     sys.exit(0)
 
@@ -269,7 +269,7 @@ def run():
                 except ValueError:
                     raise ValueError, _("Instances must be name=home")
                 d[name] = home
-            RoundupRequestHandler.ROUNDUP_INSTANCE_HOMES = d
+            RoundupRequestHandler.TRACKER_HOMES = d
     except SystemExit:
         raise
     except:
index 29c0b3679c109a1f4b3f0fa90c0c00a67a8ba867..bccd376f69e9cf6f888e73da95ab91dec48fc704 100644 (file)
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: config.py,v 1.1 2002-09-09 23:56:03 richard Exp $
+# $Id: config.py,v 1.2 2002-09-10 03:01:19 richard Exp $
 
 import os
 
 # roundup home is this package's directory
-INSTANCE_HOME=os.path.split(__file__)[0]
+TRACKER_HOME=os.path.split(__file__)[0]
 
 # The SMTP mail host that roundup will use to send mail
 MAILHOST = 'localhost'
@@ -29,19 +29,19 @@ MAILHOST = 'localhost'
 MAIL_DOMAIN = 'your.tracker.email.domain.example'
 
 # This is the directory that the database is going to be stored in
-DATABASE = os.path.join(INSTANCE_HOME, 'db')
+DATABASE = os.path.join(TRACKER_HOME, 'db')
 
 # This is the directory that the HTML templates reside in
-TEMPLATES = os.path.join(INSTANCE_HOME, 'html')
+TEMPLATES = os.path.join(TRACKER_HOME, 'html')
 
 # A descriptive name for your roundup instance
-INSTANCE_NAME = 'Roundup issue tracker'
+TRACKER_NAME = 'Roundup issue tracker'
 
 # The email address that mail to roundup should go to
-ISSUE_TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
+TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
 
 # The web address that the instance is viewable at
-ISSUE_TRACKER_WEB = 'http://your.tracker.url.example/'
+TRACKER_WEB = 'http://your.tracker.url.example/'
 
 # The email address that roundup will complain to if it runs into trouble
 ADMIN_EMAIL = 'roundup-admin@%s'%MAIL_DOMAIN
index 2eb1304ad883d975de2e9be62354344db77001d0..6be69de2e30b9f7a37ae5cd12ff0d88333615974 100644 (file)
@@ -8,8 +8,8 @@
   </th>
  </tr>
  <tr tal:repeat="prop cl/properties">
-  <th tal:content="prop/name">name</th>
-  <td tal:content="prop/prop">type</td>
+  <th tal:content="prop/_name">name</th>
+  <td tal:content="prop/_prop">type</td>
  </tr>
 </tal:block>
 
index ad7ca425efa7b0d377f5807996aba98bbcc7b3cb..8bc9576a6e6a9c098d5ad54576cd0b40905beff3 100755 (executable)
@@ -19,7 +19,7 @@
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 # SOFTWARE.
 
-# $Id: roundup-reminder,v 1.3 2002-09-10 01:07:06 richard Exp $
+# $Id: roundup-reminder,v 1.4 2002-09-10 03:01:19 richard Exp $
 
 '''
 Simple script that emails all users of a tracker with the issues that
@@ -73,14 +73,14 @@ for user_id in db.user.list():
     # generate the email message
     message = cStringIO.StringIO()
     writer = MimeWriter.MimeWriter(message)
-    writer.addheader('Subject', 'Your active %s issues'%db.config.INSTANCE_NAME)
+    writer.addheader('Subject', 'Your active %s issues'%db.config.TRACKER_NAME)
     writer.addheader('To', address)
-    writer.addheader('From', '%s <%s>'%(db.config.INSTANCE_NAME,
+    writer.addheader('From', '%s <%s>'%(db.config.TRACKER_NAME,
         db.config.ADMIN_EMAIL))
-    writer.addheader('Reply-To', '%s <%s>'%(db.config.INSTANCE_NAME,
+    writer.addheader('Reply-To', '%s <%s>'%(db.config.TRACKER_NAME,
         db.config.ADMIN_EMAIL))
     writer.addheader('MIME-Version', '1.0')
-    writer.addheader('X-Roundup-Name', db.config.INSTANCE_NAME)
+    writer.addheader('X-Roundup-Name', db.config.TRACKER_NAME)
 
     # start the multipart
     part = writer.startmultipartbody('alternative')
@@ -110,7 +110,7 @@ To view or respond to any of the issues listed above, visit the URL
    %s
 
 and click on "My Issues". Do NOT respond to this message.
-'''%db.config.ISSUE_TRACKER_WEB
+'''%db.config.TRACKER_WEB
 
 
     # now the HTML one
index d9357609366cdfa795634dd95474e6ef04c58cfd..4edb232cee1c76d481d67d9616d83170b358dc73 100644 (file)
@@ -15,7 +15,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: test_db.py,v 1.43 2002-09-10 00:19:54 richard Exp $ 
+# $Id: test_db.py,v 1.44 2002-09-10 03:01:20 richard Exp $ 
 
 import unittest, os, shutil, time
 
@@ -54,9 +54,9 @@ class config:
     DATABASE='_test_dir'
     MAILHOST = 'localhost'
     MAIL_DOMAIN = 'fill.me.in.'
-    INSTANCE_NAME = 'Roundup issue tracker'
-    ISSUE_TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
-    ISSUE_TRACKER_WEB = 'http://some.useful.url/'
+    TRACKER_NAME = 'Roundup issue tracker'
+    TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
+    TRACKER_WEB = 'http://some.useful.url/'
     ADMIN_EMAIL = 'roundup-admin@%s'%MAIL_DOMAIN
     FILTER_POSITION = 'bottom'      # one of 'top', 'bottom', 'top and bottom'
     ANONYMOUS_ACCESS = 'deny'       # either 'deny' or 'allow'
index f124282498e69f0620fbbaa2f028b9c38f047292..44aea25abb1ed2347731a18ded4cc1a070892b26 100644 (file)
@@ -15,7 +15,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: test_schema.py,v 1.9 2002-09-10 00:19:55 richard Exp $ 
+# $Id: test_schema.py,v 1.10 2002-09-10 03:01:20 richard Exp $ 
 
 import unittest, os, shutil
 
@@ -27,9 +27,9 @@ class config:
     DATABASE='_test_dir'
     MAILHOST = 'localhost'
     MAIL_DOMAIN = 'fill.me.in.'
-    INSTANCE_NAME = 'Roundup issue tracker'
-    ISSUE_TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
-    ISSUE_TRACKER_WEB = 'http://some.useful.url/'
+    NSTANCE_NAME = 'Roundup issue tracker'
+    TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
+    TRACKER_WEB = 'http://some.useful.url/'
     ADMIN_EMAIL = 'roundup-admin@%s'%MAIL_DOMAIN
     FILTER_POSITION = 'bottom'      # one of 'top', 'bottom', 'top and bottom'
     ANONYMOUS_ACCESS = 'deny'       # either 'deny' or 'allow'