[Spambayes-checkins] spambayes/spambayes ProxyUI.py,1.46,1.47
Tony Meyer
anadelonbrin at users.sourceforge.net
Fri Jul 16 03:02:41 CEST 2004
Update of /cvsroot/spambayes/spambayes/spambayes
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3001/spambayes
Modified Files:
ProxyUI.py
Log Message:
Fix [ 943852 ] Incorrect sort order for Score column
Also fix a related bug - the sort order for the ham messages would always be the
*reverse* of the spam/unsure messages.
Index: ProxyUI.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/spambayes/ProxyUI.py,v
retrieving revision 1.46
retrieving revision 1.47
diff -C2 -d -r1.46 -r1.47
*** ProxyUI.py 14 Jul 2004 07:23:53 -0000 1.46
--- ProxyUI.py 16 Jul 2004 01:02:26 -0000 1.47
***************
*** 259,263 ****
return keys, date, prior, start, end
! def _sortMessages(self, messages, sort_order):
"""Sorts the message by the appropriate attribute. If this was the
previous sort order, then reverse it."""
--- 259,263 ----
return keys, date, prior, start, end
! def _sortMessages(self, messages, sort_order, reverse=False):
"""Sorts the message by the appropriate attribute. If this was the
previous sort order, then reverse it."""
***************
*** 272,290 ****
self.previous_sort = 'received'
return messages
! else:
! tmplist = [(getattr(x[1], sort_order), x) for x in messages]
tmplist.sort()
! if self.previous_sort == sort_order:
tmplist.reverse()
- self.previous_sort = None
- else:
- self.previous_sort = sort_order
return [x for (key, x) in tmplist]
! def _appendMessages(self, table, keyedMessageInfo, label, sort_order):
"""Appends the rows of a table of messages to 'table'."""
stripe = 0
! keyedMessageInfo = self._sortMessages(keyedMessageInfo, sort_order)
nrows = options["html_ui", "rows_per_section"]
for key, messageInfo in keyedMessageInfo[:nrows]:
--- 272,288 ----
self.previous_sort = 'received'
return messages
! tmplist = [(getattr(x[1], sort_order), x) for x in messages]
tmplist.sort()
! if reverse:
tmplist.reverse()
return [x for (key, x) in tmplist]
! def _appendMessages(self, table, keyedMessageInfo, label, sort_order,
! reverse=False):
"""Appends the rows of a table of messages to 'table'."""
stripe = 0
! keyedMessageInfo = self._sortMessages(keyedMessageInfo, sort_order,
! reverse)
nrows = options["html_ui", "rows_per_section"]
for key, messageInfo in keyedMessageInfo[:nrows]:
***************
*** 293,297 ****
row = self.html.reviewRow.clone()
try:
! score = float(messageInfo.score.rstrip('%'))
except ValueError:
score = None
--- 291,295 ----
row = self.html.reviewRow.clone()
try:
! score = messageInfo.score
except ValueError:
score = None
***************
*** 334,338 ****
# the message score, and the time the message was received.
if options["html_ui", "display_score"]:
! row.score_ = messageInfo.score
else:
del row.score_
--- 332,340 ----
# the message score, and the time the message was received.
if options["html_ui", "display_score"]:
! if isinstance(messageInfo.score, types.StringTypes):
! # Presumably either "?" or "Err".
! row.score_ = messageInfo.score
! else:
! row.score_ = "%.2f%%" % (messageInfo.score,)
else:
del row.score_
***************
*** 556,559 ****
--- 558,572 ----
templateRow = page.reviewRow.clone()
+ # The decision about whether to reverse the sort
+ # order has to go here, because _sortMessages gets called
+ # thrice, and so the ham list would end up sorted backwards.
+ sort_order = params.get('sort')
+ if self.previous_sort == sort_order:
+ reverse = True
+ self.previous_sort = None
+ else:
+ reverse = False
+ self.previous_sort = sort_order
+
page.table = "" # To make way for the real rows.
for header, label in ((options["Headers",
***************
*** 583,587 ****
page.table += subHeader
self._appendMessages(page.table, messages, label,
! params.get('sort'))
page.table += self.html.trainRow
--- 596,600 ----
page.table += subHeader
self._appendMessages(page.table, messages, label,
! sort_order, reverse)
page.table += self.html.trainRow
***************
*** 666,670 ****
score = score[:op]
try:
! score = "%.2f%%" % (float(score)*100,)
except ValueError:
# Hmm. The score header should only contain a floating
--- 679,683 ----
score = score[:op]
try:
! score = float(score) * 100
except ValueError:
# Hmm. The score header should only contain a floating
More information about the Spambayes-checkins
mailing list