misc: adapt ranked items for py3 (#36515)

This commit is contained in:
Frédéric Péters 2019-11-16 17:17:24 +01:00
parent 21dd276479
commit 54d4b4686b
2 changed files with 7 additions and 13 deletions

View File

@ -21,6 +21,7 @@ import datetime
import time import time
import random import random
import re import re
import sys
import base64 import base64
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
import collections import collections
@ -2262,8 +2263,8 @@ class RankedItemsField(WidgetField):
def get_view_value(self, value): def get_view_value(self, value):
r = TemplateIO(html=True) r = TemplateIO(html=True)
r += htmltext('<ul>') r += htmltext('<ul>')
items = value.items() items = list(value.items())
items.sort(lambda x,y: cmp(x[1], y[1])) items.sort(key=lambda x: x[1] or sys.maxsize)
counter = 0 counter = 0
last_it = None last_it = None
for it in items: for it in items:
@ -2276,8 +2277,8 @@ class RankedItemsField(WidgetField):
return r.getvalue() return r.getvalue()
def get_rst_view_value(self, value, indent=''): def get_rst_view_value(self, value, indent=''):
items = value.items() items = list(value.items())
items.sort(lambda x,y: cmp(x[1], y[1])) items.sort(key=lambda x: x[1] or sys.maxsize)
counter = 0 counter = 0
last_it = None last_it = None
values = [] values = []

View File

@ -22,6 +22,7 @@ import mimetypes
import os import os
import re import re
import socket import socket
import sys
import tempfile import tempfile
import time import time
import random import random
@ -1836,15 +1837,7 @@ class RankedItemsWidget(CompositeWidget):
random.shuffle(self.widgets) random.shuffle(self.widgets)
if self.readonly: if self.readonly:
def cmp_w(x, y): self.widgets.sort(key=lambda x: x.value or sys.maxsize)
if x.value is None and y.value is None:
return 0
if x.value is None:
return 1
if y.value is None:
return -1
return cmp(x.value, y.value)
self.widgets.sort(cmp_w)
if value: if value:
# in readonly mode, we mark all fields as already parsed, to # in readonly mode, we mark all fields as already parsed, to