view doc/tracker_templates.txt @ 5653:ba67e397f063

Fix string/bytes issues under python 3. 1) cgi/client.py: override cgi.FieldStorage's make_file so that file is always created in binary/byte mode. This means that json (and xml) are bytes not strings. 2) rest.py: try harder to find dicttoxml in roundup directory or on sys.path. This just worked under python 2 but python 3 only searches sys.path by default and does not search relative like python 2. 3) rest.py: replace headers.getheader call removed from python 3 with equivalent code. 4) rest.py: make value returned from dispatch into bytes not string. 5) test/caseinsensitivedict.py, test/test_CaseInsensitiveDict.py: get code from stackoverflow that implements a case insensitive key dict. So dict['foo'], dict['Foo'] are the same entry. Used for looking up headers in mocked http rewuset header array. 6) test/rest_common.py: rework tests for etags and rest to properly supply bytes to the called routines. Calls to s2b and b2s and use of BytesIO and overriding make_file in cgi.FieldStorage to try to make sure it works under python 3.
author John Rouillard <rouilj@ieee.org>
date Sun, 17 Mar 2019 19:28:26 -0400
parents 33a1f03b9de0
children b76be13e027e
line wrap: on
line source

=========================
Roundup Tracker Templates
=========================

The templates distributed with Roundup are stored in the "share" directory
nominated by Python. On Unix this is typically
``/usr/share/roundup/templates/`` (or ``/usr/local/share...``) and
on Windows this is ``c:\python22\share\roundup\templates\``.

The template loading looks in four places to find the templates:

1. *share* - eg. ``<prefix>/share/roundup/templates/*``.
   This should be the standard place to find them when Roundup is
   installed.
2. ``<roundup.admin.__file__>/../templates/*``.
   This will be used if Roundup's run in the distro (aka. source)
   directory.
3. ``<current working dir>/*``.
   This is for when someone unpacks a 3rd-party template.
4. ``<current working dir>``.
   This is for someone who "cd"s to the 3rd-party template dir.

Templates contain:

- modules ``schema.py`` and ``initial_data.py``
- directories ``html``, ``detectors`` and ``extensions``
  (with appropriate contents)
- template "marker" file ``TEMPLATE-INFO.txt``, which contains
  the name of the template, a description of the template
  and its intended audience.

An example TEMPLATE-INFO.txt::

 Name: classic
 Description: This is a generic issue tracker that may be used to track bugs,
              feature requests, project issues or any number of other types
              of issues. Most users of Roundup will find that this template
              suits them, with perhaps a few customisations.
 Intended-For: All first-time Roundup users


Roundup Issue Tracker: http://roundup-tracker.org/