Mercurial > p > roundup > code
annotate roundup/__init__.py @ 6814:3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
Allow admin to select the backend data store. Compatibility matrix:
main\/ session>| anydbm | sqlite | redis | mysql | postgresql |
anydbm | D | | X | | |
sqlite | X | D | X | | |
mysql | | | | D | |
postgresql | | | | | D |
--------------------------------------------------------------+
D - default if unconfigured, X - compatible choice
DETAILS
roundup/configuration.py:
add config.ini section sessiondb with settings: backend and redis_url.
CHANGES.txt, doc/admin_guide.txt, doc/installation.txt, doc/upgrading.txt:
doc on config of session db and redis. Plus some other fixes:
admin - clarified why we do not drop __words and __testids
table in native-fts conversion. TYpo fix.
upgrading - doc how you can keep using anydbm for session data with
sqlite. Fix dupe sentence in an upgrading config.ini
section.
roundup/backends/back_anydbm.py, roundup/backends/back_sqlite.py:
code to support redis, redis/anydbm backends respectively.
roundup/backends/sessions_redis.py
new storage backend for redis.
roundup/rest.py, roundup/cgi/actions.py, roundup/cgi/templating.py
redis uses a different way of calculating lifetime/timestamp.
Since expiration of an item occurred if its timestamp was more
than 1 week old, code would calculate:
now - 1 week + lifetime.
But this results in faster expiration in redis if used for
lifetime/timestamp.
Convert code to use the lifetime() method in BasicDatabase
that generates the right timestamp for each backend.
test/session_common.py:
added tests for more cases, get without default, getall non-existing
key etc. timestamp test changed to use new self.get_ts which is
overridden in other tests. Test that datatypes survive storage.
test/test_redis_session.py:
test redis session store with sqlite and anydbm primary databases
test/test_anydbm.py, test/test_sqlite.py
add test to make sure the databases are properly set up
sqlite - add test cases where anydbm is used as datastore
anydbm - remove updateTimestamp override add get_ts().
test/test_config.py
tests on redis_url and compatibility on choice of sessiondb backend
.travis.yml:
add redis db and redis-py
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 04 Aug 2022 14:41:58 -0400 |
| parents | a1868fe784d0 |
| children | 623502678b97 |
| rev | line source |
|---|---|
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
1 # |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
2 # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/) |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
3 # This module is free software, and you may redistribute it and/or modify |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
4 # under the same terms as Python, so long as this copyright message and |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
5 # disclaimer are retained in their original form. |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
6 # |
| 214 | 7 # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR |
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
8 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
9 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
10 # POSSIBILITY OF SUCH DAMAGE. |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
11 # |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
12 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
|
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
|
3938
083e280165a8
Pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
3819
diff
changeset
|
17 # |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
18 |
|
2005
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
19 '''Roundup - issue tracking for knowledge workers. |
|
1244
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
20 |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
21 This is a simple-to-use and -install issue-tracking system with |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
22 command-line, web and e-mail interfaces. |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
23 |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
24 Roundup manages a number of issues (with properties such as |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
25 "description", "priority", and so on) and provides the ability to (a) submit |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
26 new issues, (b) find and edit existing issues, and (c) discuss issues with |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
27 other participants. The system will facilitate communication among the |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
28 participants by managing discussions and notifying interested parties when |
|
3938
083e280165a8
Pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
3819
diff
changeset
|
29 issues are edited. |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
30 |
|
1244
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
31 Roundup's structure is that of a cake:: |
|
26
c7c14960f413
Final commit of Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
25
diff
changeset
|
32 |
|
1244
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
33 _________________________________________________________________________ |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
34 | E-mail Client | Web Browser | Detector Scripts | Shell | |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
35 |------------------+-----------------+----------------------+-------------| |
|
3938
083e280165a8
Pre-release stuff
Richard Jones <richard@users.sourceforge.net>
parents:
3819
diff
changeset
|
36 | E-mail User | Web User | Detector | Command | |
|
1244
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
37 |-------------------------------------------------------------------------| |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
38 | Roundup Database Layer | |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
39 |-------------------------------------------------------------------------| |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
40 | Hyperdatabase Layer | |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
41 |-------------------------------------------------------------------------| |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
42 | Storage Layer | |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
43 ------------------------------------------------------------------------- |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
44 |
|
2005
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
45 1. The first layer represents the users (chocolate). |
|
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
46 2. The second layer is the Roundup interface to the users (vanilla). |
|
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
47 3. The third and fourth layers are the internal Roundup database storage |
|
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
48 mechanisms (strawberry). |
|
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
49 4. The final, lowest layer is the underlying database storage (rum). |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
50 |
|
1244
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
51 These are implemented in the code in the following manner:: |
|
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
52 |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
53 E-mail User: roundup-mailgw and roundup.mailgw |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
54 Web User: cgi-bin/roundup.cgi or roundup-server over |
|
1244
8dd4f736370b
merge from maintenance branch
Richard Jones <richard@users.sourceforge.net>
parents:
1227
diff
changeset
|
55 roundup.cgi.client and roundup.cgi.template |
|
106
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
56 Detector: roundup.roundupdb and templates/<template>/detectors |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
57 Command: roundup-admin |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
58 Roundup DB: roundup.roundupdb |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
59 Hyper DB: roundup.hyperdb, roundup.date |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
60 Storage: roundup.backends.* |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
61 |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
62 Additionally, there is a directory of unit tests in "test". |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
63 |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
64 For more information, see the original overview and specification documents |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
65 written by Ka-Ping Yee in the "doc" directory. If nothing else, it has a |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
66 much prettier cake :) |
|
25216cb3ff79
Added some documentation to the roundup package.
Richard Jones <richard@users.sourceforge.net>
parents:
26
diff
changeset
|
67 ''' |
|
2005
fc52d57c6c3e
documentation cleanup
Richard Jones <richard@users.sourceforge.net>
parents:
1980
diff
changeset
|
68 __docformat__ = 'restructuredtext' |
|
26
c7c14960f413
Final commit of Grande Splite
Richard Jones <richard@users.sourceforge.net>
parents:
25
diff
changeset
|
69 |
|
6782
a1868fe784d0
Changes for release 2.2.0.
John Rouillard <rouilj@ieee.org>
parents:
6695
diff
changeset
|
70 __version__ = '2.2.0' |
|
773
6e6c63a57df9
[SF#569415] {version]]
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
71 |
|
127
0791d13baea7
Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents:
106
diff
changeset
|
72 # vim: set filetype=python ts=4 sw=4 et si |
