Skip to content

Commit 7e620df

Browse files
author
Richard Jones
committed
Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
- fixed templating filter function arguments [SF#678911] - fixed multiselect in searching [SF#676874] - fixed parsing of content-disposition filenames [SF#675116] - added 'h' to roundup-server optarg list [SF#674070] - fixed doc for db.history in anydbm and rdbms_common [SF#679221] - fixed timelog example so it handles new issues [SF#678908] - handle missing os.fork() [SF#681046] - fixed roundup-reminder [SF#681042] - fixed int assumptions about Number values [SF#677762] - added warning filter for "FutureWarning: hex/oct constants > sys.maxint will return positive values..." (literal 0xffff0000 in portalocker.py) - fixed ZPT code generating SyntaxWarning for assignment to None
1 parent d549823 commit 7e620df

File tree

17 files changed

+155
-72
lines changed

17 files changed

+155
-72
lines changed

CHANGES.txt

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,25 @@ are given with the most recent entry first.
3030
- more proper sorting/grouping on mulitilink properties. Sorting is performed
3131
not only by number of links, but also by links itself. This makes usable
3232
grouping e.g. by topic multilink
33-
34-
2003-??-?? 0.5.5
35-
- fixed rdbms searching by ID (sf bug 666615)
36-
- detect corrupted index and raise semi-useful exception (sf bug 666767)
37-
- open server logfile unbuffered
38-
- revert StringHTMLProperty to not hyperlink text by default
33+
- fixed templating filter function arguments (sf bug 678911)
34+
- fixed multiselect in searching (sf bug 676874)
35+
- fixed parsing of content-disposition filenames (sf bug 675116)
36+
- added 'h' to roundup-server optarg list (sf bug 674070)
37+
- fixed doc for db.history in anydbm and rdbms_common (sf bug 679221)
38+
- fixed timelog example so it handles new issues (sf bug 678908)
39+
- handle missing os.fork() (sf bug 681046)
40+
- fixed roundup-reminder (sf bug 681042)
41+
- fixed int assumptions about Number values (sf bug 677762)
42+
- added warning filter for "FutureWarning: hex/oct constants > sys.maxint will
43+
return positive values..." (literal 0xffff0000 in portalocker.py)
44+
- fixed ZPT code generating SyntaxWarning for assignment to None
45+
46+
47+
2003-??-?? 0.5.6
48+
- changes appear in 0.6.0
49+
50+
2003-01-24 0.5.5
51+
- changes appear in 0.6.0
3952

4053

4154
2003-01-10 0.5.4

COPYING.txt

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
Roundup Licensing
2+
-----------------
3+
14
Copyright (c) 2002 eKit.com Inc (http://www.ekit.com/)
25

36
Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -18,11 +21,12 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1821
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1922
SOFTWARE.
2023

24+
2125
Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/)
2226

2327
This module is free software, and you may redistribute it and/or modify
24-
under the same terms as Python, so long as this copyright message and
25-
disclaimer are retained in their original form.
28+
under the same terms as Python 2.1 (the PSF LICENSE AGREEMENT), so long
29+
as this copyright message and disclaimer are retained in their original form.
2630

2731
IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
2832
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
@@ -35,6 +39,22 @@ FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
3539
BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
3640
SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
3741

38-
The stylesheet included with this package has been copied from the Zope
39-
management interface and presumably belongs to Digital Creations.
42+
43+
PageTemplates Licensing
44+
-----------------------
45+
46+
Portions of this code (roundup.cgi.PageTemplates, roundup.cgi.TAL and
47+
roundup.cgi.ZTUtils) have been copied from Zope. They have been modified in
48+
the following manner:
49+
50+
- removal of unit tests, Zope-specific code and support files from
51+
PageTemplates: PageTemplateFile.py, ZPythonExpr.py, ZRPythonExpr.py,
52+
ZopePageTemplate.py, examples, help, tests, CHANGES.txt, HISTORY.txt,
53+
version.txt and www. From TAL: DummyEngine.py, HISTORY.txt, CHANGES.txt,
54+
benchmark, driver.py, markbench.py, ndiff.py, runtest.py, setpath.py,
55+
tests and timer.py. From ZTUtils: SimpleTree.py, Zope.py, CHANGES.txt and
56+
HISTORY.txt.
57+
- editing to remove dependencies on Zope modules (see files for change notes)
58+
59+
The license for this code is in doc/ZPL.txt.
4060

README.txt

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -16,38 +16,5 @@ See the index.txt file in the "doc" directory.
1616
License
1717
=======
1818

19-
Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/)
20-
This module is free software, and you may redistribute it and/or modify
21-
under the same terms as Python, so long as this copyright message and
22-
disclaimer are retained in their original form.
23-
24-
IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
25-
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
26-
OUT OF THE USE OF THIS CODE, EVEN IF BIZAR SOFTWARE PTY LTD HAS BEEN ADVISED
27-
OF THE POSSIBILITY OF SUCH DAMAGE.
28-
29-
BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
30-
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
31-
FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
32-
BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
33-
SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
34-
35-
36-
PageTemplates Licensing
37-
-----------------------
38-
39-
Portions of this code (roundup.cgi.PageTemplates, roundup.cgi.TAL and
40-
roundup.cgi.ZTUtils) have been copied from Zope. They have been modified in
41-
the following manner:
42-
43-
- removal of unit tests, Zope-specific code and support files from
44-
PageTemplates: PageTemplateFile.py, ZPythonExpr.py, ZRPythonExpr.py,
45-
ZopePageTemplate.py, examples, help, tests, CHANGES.txt, HISTORY.txt,
46-
version.txt and www. From TAL: DummyEngine.py, HISTORY.txt, CHANGES.txt,
47-
benchmark, driver.py, markbench.py, ndiff.py, runtest.py, setpath.py,
48-
tests and timer.py. From ZTUtils: SimpleTree.py, Zope.py, CHANGES.txt and
49-
HISTORY.txt.
50-
- editing to remove dependencies on Zope modules (see files for change notes)
51-
52-
The license for this code is in doc/ZPL.txt.
19+
See COPYING.txt
5320

doc/customizing.txt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Customising Roundup
33
===================
44

5-
:Version: $Revision: 1.72 $
5+
:Version: $Revision: 1.73 $
66

77
.. This document borrows from the ZopeBook section on ZPT. The original is at:
88
http://www.zope.org/Documentation/Books/ZopeBook/current/ZPT.stx
@@ -2558,6 +2558,7 @@ able to give a summary of the total time spent on a particular issue.
25582558
'''
25592559
actions = client.Client.actions + (
25602560
('edit_with_timelog', 'timelogEditAction'),
2561+
('new_with_timelog', 'timelogEditAction'),
25612562
)
25622563

25632564
def timelogEditAction(self):
@@ -2587,7 +2588,10 @@ able to give a summary of the total time spent on a particular issue.
25872588
self.form.list.append(MiniFieldStorage('times', entry))
25882589

25892590
# punt to the normal edit action
2590-
return self.editItemAction()
2591+
if self.nodeid:
2592+
return self.editItemAction()
2593+
else:
2594+
return self.newItemAction()
25912595

25922596
you add this code to your Client class in your tracker's ``interfaces.py``
25932597
file. Locate the section that looks like::
@@ -2621,14 +2625,15 @@ able to give a summary of the total time spent on a particular issue.
26212625
<input type="submit" name="submit" value="Submit Changes">
26222626
</tal:block>
26232627
<tal:block tal:condition="not:context/id">
2624-
<input type="hidden" name=":action" value="new">
2628+
<input type="hidden" name=":action" value="new_with_timelog">
26252629
<input type="submit" name="submit" value="Submit New Issue">
26262630
</tal:block>
26272631
</td>
26282632
</tr>
26292633

26302634
The important change is setting the action to "edit_with_timelog" for
2631-
edit operations (where the item exists)
2635+
edit operations (where the item exists) and "new_with_timelog" for
2636+
creations operations.
26322637

26332638
6. We want to display a total of the time log times that have been accumulated
26342639
for an issue. To do this, we'll need to actually write some Python code,

doc/index.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ Duncan Booth,
5555
Seb Brezel,
5656
Titus Brown,
5757
Roch'e Compaan,
58+
Hernan Martinez Foffani,
5859
Engelbert Gruber,
5960
Juergen Hermann,
6061
Tobias Hunger,

roundup/admin.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
# BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
1717
# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
1818
#
19-
# $Id: admin.py,v 1.35 2002-10-03 06:56:28 richard Exp $
19+
# $Id: admin.py,v 1.36 2003-02-06 05:43:47 richard Exp $
2020

2121
'''Administration commands for maintaining Roundup trackers.
2222
'''
@@ -497,7 +497,7 @@ def do_set(self, args, pwre = re.compile(r'{(\w+)}(.+)')):
497497
elif isinstance(proptype, hyperdb.Boolean):
498498
props[key] = value.lower() in ('yes', 'true', 'on', '1')
499499
elif isinstance(proptype, hyperdb.Number):
500-
props[key] = int(value)
500+
props[key] = float(value)
501501

502502
# try the set
503503
try:
@@ -682,7 +682,7 @@ def do_create(self, args, pwre = re.compile(r'{(\w+)}(.+)')):
682682
elif isinstance(proptype, hyperdb.Boolean):
683683
props[propname] = value.lower() in ('yes', 'true', 'on', '1')
684684
elif isinstance(proptype, hyperdb.Number):
685-
props[propname] = int(value)
685+
props[propname] = float(value)
686686

687687
# check for the key property
688688
propname = cl.getkey()

roundup/backends/back_anydbm.py

Lines changed: 2 additions & 2 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: back_anydbm.py,v 1.99 2003-02-03 11:14:16 kedder Exp $
18+
#$Id: back_anydbm.py,v 1.100 2003-02-06 05:43:47 richard Exp $
1919
'''
2020
This module defines a backend that saves the hyperdatabase in a database
2121
chosen by anydbm. It is guaranteed to always be available in python
@@ -1347,7 +1347,7 @@ def history(self, nodeid):
13471347
13481348
The returned list contains tuples of the form
13491349
1350-
(date, tag, action, params)
1350+
(nodeid, date, tag, action, params)
13511351
13521352
'date' is a Timestamp object specifying the time of the change and
13531353
'tag' is the journaltag specified when the database was opened.

roundup/backends/locking.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,19 @@
1919
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2020
# SOFTWARE.
2121

22-
# $Id: locking.py,v 1.2 2002-09-10 00:11:50 richard Exp $
22+
# $Id: locking.py,v 1.3 2003-02-06 05:43:47 richard Exp $
2323

2424
'''This module provides a generic interface to acquire and release
2525
exclusive access to a file.
2626
2727
It should work on Unix and Windows.
2828
'''
2929

30+
import warnings
31+
warnings.filterwarnings("ignore",
32+
r'hex/oct constants > sys\.maxint .*', FutureWarning,
33+
'portalocker', 0)
34+
3035
import portalocker
3136

3237
def acquire_lock(path, block=1):

roundup/backends/rdbms_common.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $Id: rdbms_common.py,v 1.29 2003-01-15 22:17:19 kedder Exp $
1+
# $Id: rdbms_common.py,v 1.30 2003-02-06 05:43:47 richard Exp $
22
''' Relational database (SQL) backend common code.
33
44
Basics:
@@ -1540,7 +1540,7 @@ def history(self, nodeid):
15401540
15411541
The returned list contains tuples of the form
15421542
1543-
(date, tag, action, params)
1543+
(nodeid, date, tag, action, params)
15441544
15451545
'date' is a Timestamp object specifying the time of the change and
15461546
'tag' is the journaltag specified when the database was opened.

roundup/cgi/PageTemplates/TALES.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
- changed imports to import from roundup.cgi
2020
"""
2121

22-
__version__='$Revision: 1.4 $'[11:-2]
22+
__version__='$Revision: 1.5 $'[11:-2]
2323

2424
import re, sys
2525
from roundup.cgi import ZTUtils
@@ -228,7 +228,7 @@ def evaluate(self, expression,
228228
evaluateValue = evaluate
229229
evaluateBoolean = evaluate
230230

231-
def evaluateText(self, expr, None=None):
231+
def evaluateText(self, expr):
232232
text = self.evaluate(expr)
233233
if text is Default or text is None:
234234
return text

0 commit comments

Comments
 (0)