Skip to content

Commit 0ff758e

Browse files
author
Richard Jones
committed
Some more TODOs
1 parent 42b1b35 commit 0ff758e

File tree

4 files changed

+38
-14
lines changed

4 files changed

+38
-14
lines changed

CHANGES.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Fixed:
88
. made the unit tests run again - they were quite b0rken
99
. #571170 ] gdbm deadlock
1010
. #576241 ] MultiLink problems in parsePropsFromForm
11+
. fixed the date module so that Date(". - 2d") works
1112

1213
Feature:
1314
. cleaned up the indexer code:

TODO.txt

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
Implementation plan for 0.5 release:
1+
General Roundup project TODO list. Note that some of these are semi-formed
2+
ideas. Those ideas that don't make the cutoff for the next major release are
3+
punted automatically into the subsequent major release TODO.
4+
5+
For 0.5 release:
26

37
State Description
48
------------------------------------------------------------------------------
@@ -15,11 +19,15 @@ pending journalling: fix the journal bloat
1519
related: Re-enable link backrefs from messages
1620
feature request #568714
1721
pending alternative user auth: at least an LDAP implementation
18-
active security overhaul: see doc/security.txt
19-
done - switch to sessions for web authentication (RJ)
22+
active security overhaul: see doc/security.txt (RJ)
23+
done - switch to sessions for web authentication
2024
- authenticate over a secure connection
2125
- implement and use the new logical control mechanisms
2226
- use digital signatures in mailgw
27+
active implement an RDB backend (RJ)
28+
done - further split the *dbm backends from the core code, allowing
29+
easier non-dict-like backends (eg metakit, RDB)
30+
- write a backend for gadfly
2331
pending fix double-submit by having new-item-submit redirect at end
2432
pending split instance.open() into open() and login()
2533
pending range searching of values (dates in particular)

roundup/backends/blobfiles.py

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
1616
# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
1717
#
18-
#$Id: blobfiles.py,v 1.6 2002-07-09 03:02:52 richard Exp $
18+
#$Id: blobfiles.py,v 1.7 2002-07-14 06:14:40 richard Exp $
1919
'''
2020
This module exports file storage for roundup backends.
2121
Files are stored into a directory hierarchy.
@@ -37,10 +37,6 @@ def files_in_dir(dir):
3737

3838
class FileStorage:
3939
"""Store files in some directory structure"""
40-
# TODO: maybe set "files"
41-
# def __init__(self):
42-
# pass
43-
4440
def filename(self, classname, nodeid, property=None):
4541
'''Determine what the filename for the given node and optionally
4642
property is.
@@ -130,6 +126,22 @@ def _rollbackStoreFile(self, classname, nodeid, property, **databases):
130126
os.remove(name+".tmp")
131127

132128
# $Log: not supported by cvs2svn $
129+
# Revision 1.6 2002/07/09 03:02:52 richard
130+
# More indexer work:
131+
# - all String properties may now be indexed too. Currently there's a bit of
132+
# "issue" specific code in the actual searching which needs to be
133+
# addressed. In a nutshell:
134+
# + pass 'indexme="yes"' as a String() property initialisation arg, eg:
135+
# file = FileClass(db, "file", name=String(), type=String(),
136+
# comment=String(indexme="yes"))
137+
# + the comment will then be indexed and be searchable, with the results
138+
# related back to the issue that the file is linked to
139+
# - as a result of this work, the FileClass has a default MIME type that may
140+
# be overridden in a subclass, or by the use of a "type" property as is
141+
# done in the default templates.
142+
# - the regeneration of the indexes (if necessary) is done once the schema is
143+
# set up in the dbinit.
144+
#
133145
# Revision 1.5 2002/07/08 06:58:15 richard
134146
# cleaned up the indexer code:
135147
# - it splits more words out (much simpler, faster splitter)

roundup/cgi_client.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
1616
# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
1717
#
18-
# $Id: cgi_client.py,v 1.138 2002-07-14 04:03:13 richard Exp $
18+
# $Id: cgi_client.py,v 1.139 2002-07-14 06:14:40 richard Exp $
1919

2020
__doc__ = """
2121
WWW request handler (also used in the stand-alone server).
@@ -407,7 +407,6 @@ def _get_customisation_info(self):
407407
columns = d['COLUMNS']
408408
filterspec = d['FILTERSPEC']
409409
pagesize = d.get('PAGESIZE', '50')
410-
411410
else:
412411
# nope - fall back on the old way of doing it
413412
self.classname = 'issue'
@@ -1137,7 +1136,7 @@ def newuser_action(self, message=None):
11371136
# re-open the database as "admin"
11381137
self.opendb('admin')
11391138

1140-
# TODO: pre-check the required fields and username key property
1139+
# create the new user
11411140
cl = self.db.user
11421141
try:
11431142
props = parsePropsFromForm(self.db, cl, self.form)
@@ -1146,6 +1145,8 @@ def newuser_action(self, message=None):
11461145
action = self.form['__destination_url'].value
11471146
self.login(message, action=action)
11481147
return 0
1148+
1149+
# log the new user in
11491150
self.user = cl.get(uid, 'username')
11501151
# re-open the database for real, using the user
11511152
self.opendb(self.user)
@@ -1175,8 +1176,6 @@ def set_cookie(self, user, password):
11751176
self.db.commit()
11761177

11771178
# expire us in a long, long time
1178-
# TODO: hrm, how long should this be, and how many sessions can one
1179-
# user have?
11801179
expire = Cookie._getdate(86400*365)
11811180

11821181
# generate the cookie path - make sure it has a trailing '/'
@@ -1233,7 +1232,7 @@ def main(self):
12331232
sessions = self.db.getclass('__sessions')
12341233

12351234
# age sessions, remove when they haven't been used for a week
1236-
# TODO: this doesn't need to be done every access
1235+
# TODO: this shouldn't be done every access
12371236
week = date.Interval('7d')
12381237
now = date.Date()
12391238
for sessid in sessions.list():
@@ -1500,6 +1499,10 @@ def parsePropsFromForm(db, cl, form, nodeid=0, num_re=re.compile('^\d+$')):
15001499

15011500
#
15021501
# $Log: not supported by cvs2svn $
1502+
# Revision 1.138 2002/07/14 04:03:13 richard
1503+
# Implemented a switch to disable journalling for a Class. CGI session
1504+
# database now uses it.
1505+
#
15031506
# Revision 1.137 2002/07/10 07:00:30 richard
15041507
# removed debugging
15051508
#

0 commit comments

Comments
 (0)