mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
python3: reduce use of cmp when key can be used instead
cmp does not exist on python3
This commit is contained in:
parent
06d8560ab2
commit
97ab4acce5
@ -179,7 +179,7 @@ def generate_ebook_convert_help(preamble, app):
|
|||||||
raw += '\n\n.. contents::\n :local:'
|
raw += '\n\n.. contents::\n :local:'
|
||||||
|
|
||||||
raw += '\n\n' + options
|
raw += '\n\n' + options
|
||||||
for pl in sorted(input_format_plugins(), key=lambda x:x.name):
|
for pl in sorted(input_format_plugins(), key=lambda x: x.name):
|
||||||
parser, plumber = create_option_parser(['ebook-convert',
|
parser, plumber = create_option_parser(['ebook-convert',
|
||||||
'dummyi.'+sorted(pl.file_types)[0], 'dummyo.epub', '-h'], default_log)
|
'dummyi.'+sorted(pl.file_types)[0], 'dummyo.epub', '-h'], default_log)
|
||||||
groups = [(pl.name+ ' Options', '', g.option_list) for g in
|
groups = [(pl.name+ ' Options', '', g.option_list) for g in
|
||||||
@ -279,7 +279,7 @@ def cli_docs(app):
|
|||||||
info(bold('creating CLI documentation...'))
|
info(bold('creating CLI documentation...'))
|
||||||
documented_cmds, undocumented_cmds = get_cli_docs()
|
documented_cmds, undocumented_cmds = get_cli_docs()
|
||||||
|
|
||||||
documented_cmds.sort(cmp=lambda x, y: cmp(x[0], y[0]))
|
documented_cmds.sort(key=lambda x: x[0])
|
||||||
undocumented_cmds.sort()
|
undocumented_cmds.sort()
|
||||||
|
|
||||||
documented = [' '*4 + c[0] for c in documented_cmds]
|
documented = [' '*4 + c[0] for c in documented_cmds]
|
||||||
|
@ -233,7 +233,7 @@ input_profiles = [InputProfile, SonyReaderInput, SonyReader300Input,
|
|||||||
HanlinV5Input, CybookG3Input, CybookOpusInput, KindleInput, IlliadInput,
|
HanlinV5Input, CybookG3Input, CybookOpusInput, KindleInput, IlliadInput,
|
||||||
IRexDR1000Input, IRexDR800Input, NookInput]
|
IRexDR1000Input, IRexDR800Input, NookInput]
|
||||||
|
|
||||||
input_profiles.sort(cmp=lambda x,y:cmp(x.name.lower(), y.name.lower()))
|
input_profiles.sort(key=lambda x: x.name.lower())
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
@ -870,4 +870,4 @@ output_profiles = [
|
|||||||
KindlePaperWhite3Output, KindleOasisOutput
|
KindlePaperWhite3Output, KindleOasisOutput
|
||||||
]
|
]
|
||||||
|
|
||||||
output_profiles.sort(cmp=lambda x,y:cmp(x.name.lower(), y.name.lower()))
|
output_profiles.sort(key=lambda x: x.name.lower())
|
||||||
|
@ -727,9 +727,9 @@ def initialize_plugins(perf=False):
|
|||||||
# ipython
|
# ipython
|
||||||
sys.stdout, sys.stderr = ostdout, ostderr
|
sys.stdout, sys.stderr = ostdout, ostderr
|
||||||
if perf:
|
if perf:
|
||||||
for x in sorted(times, key=lambda x:times[x]):
|
for x in sorted(times, key=lambda x: times[x]):
|
||||||
print('%50s: %.3f'%(x, times[x]))
|
print('%50s: %.3f'%(x, times[x]))
|
||||||
_initialized_plugins.sort(cmp=lambda x,y:cmp(x.priority, y.priority), reverse=True)
|
_initialized_plugins.sort(key=lambda x: x.priority, reverse=True)
|
||||||
reread_filetype_plugins()
|
reread_filetype_plugins()
|
||||||
reread_metadata_plugins()
|
reread_metadata_plugins()
|
||||||
|
|
||||||
|
@ -149,9 +149,7 @@ def main(opts, args, dbctx):
|
|||||||
(not report_on or k in report_on)
|
(not report_on or k in report_on)
|
||||||
]
|
]
|
||||||
|
|
||||||
categories.sort(
|
categories.sort(key=lambda x: x if x[0] != '#' else x[1:])
|
||||||
cmp=lambda x, y: cmp(x if x[0] != '#' else x[1:], y if y[0] != '#' else y[1:])
|
|
||||||
)
|
|
||||||
|
|
||||||
def fmtr(v):
|
def fmtr(v):
|
||||||
v = v or 0
|
v = v or 0
|
||||||
|
@ -82,8 +82,7 @@ def debug(ioreg_to_tmp=False, buf=None, plugins=None,
|
|||||||
out = partial(prints, file=buf)
|
out = partial(prints, file=buf)
|
||||||
|
|
||||||
devplugins = device_plugins() if plugins is None else plugins
|
devplugins = device_plugins() if plugins is None else plugins
|
||||||
devplugins = list(sorted(devplugins, cmp=lambda
|
devplugins = list(sorted(devplugins, key=lambda x: x.__class__.__name__))
|
||||||
x,y:cmp(x.__class__.__name__, y.__class__.__name__)))
|
|
||||||
if plugins is None:
|
if plugins is None:
|
||||||
for d in devplugins:
|
for d in devplugins:
|
||||||
try:
|
try:
|
||||||
|
@ -321,7 +321,7 @@ class XMLCache(object):
|
|||||||
# Only rebase ids of nodes that are immediate children of the
|
# Only rebase ids of nodes that are immediate children of the
|
||||||
# record root (that way playlist/itemnodes are unaffected
|
# record root (that way playlist/itemnodes are unaffected
|
||||||
items = root.xpath('child::*[@id]')
|
items = root.xpath('child::*[@id]')
|
||||||
items.sort(cmp=lambda x,y:cmp(int(x.get('id')), int(y.get('id'))))
|
items.sort(key=lambda x: int(x.get('id')))
|
||||||
idmap = {}
|
idmap = {}
|
||||||
for i, item in enumerate(items):
|
for i, item in enumerate(items):
|
||||||
old = int(item.get('id'))
|
old = int(item.get('id'))
|
||||||
|
@ -537,7 +537,7 @@ class Device(DeviceConfig, DevicePlugin):
|
|||||||
if sz > 0:
|
if sz > 0:
|
||||||
nodes.append((x.split('/')[-1], sz))
|
nodes.append((x.split('/')[-1], sz))
|
||||||
|
|
||||||
nodes.sort(cmp=lambda x, y: cmp(x[1], y[1]))
|
nodes.sort(key=lambda x: x[1])
|
||||||
if not nodes:
|
if not nodes:
|
||||||
return node
|
return node
|
||||||
return nodes[-1][0]
|
return nodes[-1][0]
|
||||||
|
@ -995,8 +995,7 @@ def develop(): # {{{
|
|||||||
drive_letters = set()
|
drive_letters = set()
|
||||||
pprint(usb_devices)
|
pprint(usb_devices)
|
||||||
print()
|
print()
|
||||||
devplugins = list(sorted(device_plugins(), cmp=lambda
|
devplugins = list(sorted(device_plugins(), key=lambda x: x.__class__.__name__))
|
||||||
x,y:cmp(x.__class__.__name__, y.__class__.__name__)))
|
|
||||||
for dev in devplugins:
|
for dev in devplugins:
|
||||||
dev.startup()
|
dev.startup()
|
||||||
for dev in devplugins:
|
for dev in devplugins:
|
||||||
|
@ -821,7 +821,7 @@ OptionRecommendation(name='search_replace',
|
|||||||
if not html_files:
|
if not html_files:
|
||||||
raise ValueError(_('Could not find an e-book inside the archive'))
|
raise ValueError(_('Could not find an e-book inside the archive'))
|
||||||
html_files = [(f, os.stat(f).st_size) for f in html_files]
|
html_files = [(f, os.stat(f).st_size) for f in html_files]
|
||||||
html_files.sort(cmp=lambda x, y: cmp(x[1], y[1]))
|
html_files.sort(key=lambda x: x[1])
|
||||||
html_files = [f[0] for f in html_files]
|
html_files = [f[0] for f in html_files]
|
||||||
for q in ('toc', 'index'):
|
for q in ('toc', 'index'):
|
||||||
for f in html_files:
|
for f in html_files:
|
||||||
|
@ -670,8 +670,7 @@ class LitWriter(object):
|
|||||||
def _build_dchunks(self):
|
def _build_dchunks(self):
|
||||||
ddata = []
|
ddata = []
|
||||||
directory = list(self._directory)
|
directory = list(self._directory)
|
||||||
directory.sort(cmp=lambda x, y:
|
directory.sort(key=lambda x: x.name.lower())
|
||||||
cmp(x.name.lower(), y.name.lower()))
|
|
||||||
qrn = 1 + (1 << 2)
|
qrn = 1 + (1 << 2)
|
||||||
dchunk = io.BytesIO()
|
dchunk = io.BytesIO()
|
||||||
dcount = 0
|
dcount = 0
|
||||||
|
@ -32,7 +32,7 @@ def get_metadata(stream):
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
break
|
break
|
||||||
covers.sort(cmp=lambda x, y:cmp(len(x[0]), len(y[0])), reverse=True)
|
covers.sort(key=lambda x: len(x[0]), reverse=True)
|
||||||
idx = 0
|
idx = 0
|
||||||
if len(covers) > 1:
|
if len(covers) > 1:
|
||||||
if covers[1][1] == covers[0][1]+'-standard':
|
if covers[1][1] == covers[0][1]+'-standard':
|
||||||
|
@ -41,8 +41,7 @@ def metadata_from_formats(formats, force_read_metadata=False, pattern=None):
|
|||||||
|
|
||||||
def _metadata_from_formats(formats, force_read_metadata=False, pattern=None):
|
def _metadata_from_formats(formats, force_read_metadata=False, pattern=None):
|
||||||
mi = MetaInformation(None, None)
|
mi = MetaInformation(None, None)
|
||||||
formats.sort(cmp=lambda x,y: cmp(METADATA_PRIORITIES[path_to_ext(x)],
|
formats.sort(key=lambda x: METADATA_PRIORITIES[path_to_ext(x)])
|
||||||
METADATA_PRIORITIES[path_to_ext(y)]))
|
|
||||||
extensions = list(map(path_to_ext, formats))
|
extensions = list(map(path_to_ext, formats))
|
||||||
if 'opf' in extensions:
|
if 'opf' in extensions:
|
||||||
opf = formats[extensions.index('opf')]
|
opf = formats[extensions.index('opf')]
|
||||||
@ -241,4 +240,3 @@ def forked_read_metadata(path, tdir):
|
|||||||
opf = metadata_to_opf(mi, default_lang='und')
|
opf = metadata_to_opf(mi, default_lang='und')
|
||||||
with lopen(os.path.join(tdir, 'metadata.opf'), 'wb') as f:
|
with lopen(os.path.join(tdir, 'metadata.opf'), 'wb') as f:
|
||||||
f.write(opf)
|
f.write(opf)
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ class Clean(object):
|
|||||||
else:
|
else:
|
||||||
covers.append([self.oeb.guide[x], len(item.data)])
|
covers.append([self.oeb.guide[x], len(item.data)])
|
||||||
|
|
||||||
covers.sort(cmp=lambda x,y:cmp(x[1], y[1]), reverse=True)
|
covers.sort(key=lambda x: x[1], reverse=True)
|
||||||
if covers:
|
if covers:
|
||||||
ref = covers[0][0]
|
ref = covers[0][0]
|
||||||
if len(covers) > 1:
|
if len(covers) > 1:
|
||||||
@ -53,4 +53,3 @@ class Clean(object):
|
|||||||
if item.title and item.title.lower() == 'start':
|
if item.title and item.title.lower() == 'start':
|
||||||
continue
|
continue
|
||||||
self.oeb.guide.remove(x)
|
self.oeb.guide.remove(x)
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ class Column(object):
|
|||||||
self._post_add()
|
self._post_add()
|
||||||
|
|
||||||
def _post_add(self):
|
def _post_add(self):
|
||||||
self.elements.sort(cmp=lambda x,y:cmp(x.bottom,y.bottom))
|
self.elements.sort(key=lambda x: x.bottom)
|
||||||
self.top = self.elements[0].top
|
self.top = self.elements[0].top
|
||||||
self.bottom = self.elements[-1].bottom
|
self.bottom = self.elements[-1].bottom
|
||||||
self.left, self.right = sys.maxint, 0
|
self.left, self.right = sys.maxint, 0
|
||||||
@ -260,7 +260,7 @@ class Region(object):
|
|||||||
|
|
||||||
def add(self, columns):
|
def add(self, columns):
|
||||||
if not self.columns:
|
if not self.columns:
|
||||||
for x in sorted(columns, cmp=lambda x,y: cmp(x.left, y.left)):
|
for x in sorted(columns, key=lambda x: x.left):
|
||||||
self.columns.append(x)
|
self.columns.append(x)
|
||||||
else:
|
else:
|
||||||
for i in range(len(columns)):
|
for i in range(len(columns)):
|
||||||
@ -458,7 +458,7 @@ class Page(object):
|
|||||||
self.elements = list(self.texts)
|
self.elements = list(self.texts)
|
||||||
for img in page.xpath('descendant::img'):
|
for img in page.xpath('descendant::img'):
|
||||||
self.elements.append(Image(img, self.opts, self.log, idc))
|
self.elements.append(Image(img, self.opts, self.log, idc))
|
||||||
self.elements.sort(cmp=lambda x,y:cmp(x.top, y.top))
|
self.elements.sort(key=lambda x: x.top)
|
||||||
|
|
||||||
def coalesce_fragments(self):
|
def coalesce_fragments(self):
|
||||||
|
|
||||||
@ -580,7 +580,7 @@ class Page(object):
|
|||||||
|
|
||||||
def sort_into_columns(self, elem, neighbors):
|
def sort_into_columns(self, elem, neighbors):
|
||||||
neighbors.add(elem)
|
neighbors.add(elem)
|
||||||
neighbors = sorted(neighbors, cmp=lambda x,y:cmp(x.left, y.left))
|
neighbors = sorted(neighbors, key=lambda x: x.left)
|
||||||
if self.opts.verbose > 3:
|
if self.opts.verbose > 3:
|
||||||
self.log.debug('Neighbors:', [x.to_html() for x in neighbors])
|
self.log.debug('Neighbors:', [x.to_html() for x in neighbors])
|
||||||
columns = [Column()]
|
columns = [Column()]
|
||||||
@ -595,7 +595,7 @@ class Page(object):
|
|||||||
if not added:
|
if not added:
|
||||||
columns.append(Column())
|
columns.append(Column())
|
||||||
columns[-1].add(x)
|
columns[-1].add(x)
|
||||||
columns.sort(cmp=lambda x,y:cmp(x.left, y.left))
|
columns.sort(key=lambda x: x.left)
|
||||||
return columns
|
return columns
|
||||||
|
|
||||||
def find_elements_in_row_of(self, x):
|
def find_elements_in_row_of(self, x):
|
||||||
|
@ -51,8 +51,7 @@ class LibraryUsageStats(object): # {{{
|
|||||||
|
|
||||||
def write_stats(self):
|
def write_stats(self):
|
||||||
locs = list(self.stats.keys())
|
locs = list(self.stats.keys())
|
||||||
locs.sort(cmp=lambda x, y: cmp(self.stats[x], self.stats[y]),
|
locs.sort(key=lambda x: self.stats[x], reverse=True)
|
||||||
reverse=True)
|
|
||||||
for key in locs[500:]:
|
for key in locs[500:]:
|
||||||
self.stats.pop(key)
|
self.stats.pop(key)
|
||||||
gprefs.set('library_usage_stats', self.stats)
|
gprefs.set('library_usage_stats', self.stats)
|
||||||
|
@ -93,7 +93,7 @@ class Catalog(QDialog, Ui_Dialog):
|
|||||||
else:
|
else:
|
||||||
info("No dynamic tab resources found for %s" % name)
|
info("No dynamic tab resources found for %s" % name)
|
||||||
|
|
||||||
self.widgets = sorted(self.widgets, cmp=lambda x,y:cmp(x.TITLE, y.TITLE))
|
self.widgets = sorted(self.widgets, key=lambda x: x.TITLE)
|
||||||
|
|
||||||
# Generate a sorted list of installed catalog formats/sync_enabled pairs
|
# Generate a sorted list of installed catalog formats/sync_enabled pairs
|
||||||
fmts = sorted([x[0] for x in self.fmts])
|
fmts = sorted([x[0] for x in self.fmts])
|
||||||
|
@ -323,7 +323,7 @@ class BooksModel(QAbstractTableModel): # {{{
|
|||||||
return 100000
|
return 100000
|
||||||
return self.db.field_metadata[name]['rec_index']
|
return self.db.field_metadata[name]['rec_index']
|
||||||
|
|
||||||
self.column_map.sort(cmp=lambda x,y: cmp(col_idx(x), col_idx(y)))
|
self.column_map.sort(key=lambda x: col_idx(x))
|
||||||
for col in self.column_map:
|
for col in self.column_map:
|
||||||
if col in self.orig_headers:
|
if col in self.orig_headers:
|
||||||
self.headers[col] = self.orig_headers[col]
|
self.headers[col] = self.orig_headers[col]
|
||||||
|
@ -1031,7 +1031,7 @@ class BooksView(QTableView): # {{{
|
|||||||
h.visualIndex(x) > -1]
|
h.visualIndex(x) > -1]
|
||||||
if not pairs:
|
if not pairs:
|
||||||
pairs = [(0, 0)]
|
pairs = [(0, 0)]
|
||||||
pairs.sort(cmp=lambda x,y:cmp(x[1], y[1]))
|
pairs.sort(key=lambda x: x[1])
|
||||||
i = pairs[0][0]
|
i = pairs[0][0]
|
||||||
index = self.model().index(row, i)
|
index = self.model().index(row, i)
|
||||||
if for_sync:
|
if for_sync:
|
||||||
|
@ -69,7 +69,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
|||||||
state = self.columns_state(defaults)
|
state = self.columns_state(defaults)
|
||||||
self.hidden_cols = state['hidden_columns']
|
self.hidden_cols = state['hidden_columns']
|
||||||
positions = state['column_positions']
|
positions = state['column_positions']
|
||||||
colmap.sort(cmp=lambda x,y: cmp(positions[x], positions[y]))
|
colmap.sort(key=lambda x: positions[x])
|
||||||
self.opt_columns.clear()
|
self.opt_columns.clear()
|
||||||
|
|
||||||
db = model.db
|
db = model.db
|
||||||
@ -248,12 +248,10 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
|||||||
if 'ondevice' in hidden_cols:
|
if 'ondevice' in hidden_cols:
|
||||||
hidden_cols.remove('ondevice')
|
hidden_cols.remove('ondevice')
|
||||||
|
|
||||||
def col_pos(x, y):
|
def col_pos(x):
|
||||||
xidx = config_cols.index(x) if x in config_cols else sys.maxint
|
return config_cols.index(x) if x in config_cols else sys.maxint
|
||||||
yidx = config_cols.index(y) if y in config_cols else sys.maxint
|
|
||||||
return cmp(xidx, yidx)
|
|
||||||
positions = {}
|
positions = {}
|
||||||
for i, col in enumerate((sorted(model.column_map, cmp=col_pos))):
|
for i, col in enumerate((sorted(model.column_map, key=col_pos))):
|
||||||
positions[col] = i
|
positions[col] = i
|
||||||
state = {'hidden_columns': hidden_cols, 'column_positions':positions}
|
state = {'hidden_columns': hidden_cols, 'column_positions':positions}
|
||||||
self.gui.library_view.apply_state(state)
|
self.gui.library_view.apply_state(state)
|
||||||
|
@ -456,7 +456,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
|||||||
if l != lang]
|
if l != lang]
|
||||||
if lang != 'en':
|
if lang != 'en':
|
||||||
items.append(('en', get_esc_lang('en')))
|
items.append(('en', get_esc_lang('en')))
|
||||||
items.sort(cmp=lambda x, y: cmp(x[1].lower(), y[1].lower()))
|
items.sort(key=lambda x: x[1].lower())
|
||||||
choices = [(y, x) for x, y in items]
|
choices = [(y, x) for x, y in items]
|
||||||
# Default language is the autodetected one
|
# Default language is the autodetected one
|
||||||
choices = [(get_language(lang), lang)] + choices
|
choices = [(get_language(lang), lang)] + choices
|
||||||
|
@ -171,7 +171,7 @@ class Browser(QScrollArea): # {{{
|
|||||||
self.category_names = category_names
|
self.category_names = category_names
|
||||||
|
|
||||||
categories = list(category_map.keys())
|
categories = list(category_map.keys())
|
||||||
categories.sort(cmp=lambda x, y: cmp(category_map[x], category_map[y]))
|
categories.sort(key=lambda x: category_map[x])
|
||||||
|
|
||||||
self.category_map = OrderedDict()
|
self.category_map = OrderedDict()
|
||||||
for c in categories:
|
for c in categories:
|
||||||
@ -181,7 +181,7 @@ class Browser(QScrollArea): # {{{
|
|||||||
self.category_map[plugin.category].append(plugin)
|
self.category_map[plugin.category].append(plugin)
|
||||||
|
|
||||||
for plugins in self.category_map.values():
|
for plugins in self.category_map.values():
|
||||||
plugins.sort(cmp=lambda x, y: cmp(x.name_order, y.name_order))
|
plugins.sort(key=lambda x: x.name_order)
|
||||||
|
|
||||||
self.widgets = []
|
self.widgets = []
|
||||||
self._layout = QVBoxLayout()
|
self._layout = QVBoxLayout()
|
||||||
|
@ -34,17 +34,6 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
|||||||
self.db = gui.library_view.model().db
|
self.db = gui.library_view.model().db
|
||||||
|
|
||||||
def initialize(self):
|
def initialize(self):
|
||||||
def field_cmp(x, y):
|
|
||||||
if x.startswith('#'):
|
|
||||||
if y.startswith('#'):
|
|
||||||
return cmp(x.lower(), y.lower())
|
|
||||||
else:
|
|
||||||
return 1
|
|
||||||
elif y.startswith('#'):
|
|
||||||
return -1
|
|
||||||
else:
|
|
||||||
return cmp(x.lower(), y.lower())
|
|
||||||
|
|
||||||
ConfigWidgetBase.initialize(self)
|
ConfigWidgetBase.initialize(self)
|
||||||
|
|
||||||
self.current_plugboards = copy.deepcopy(self.db.prefs.get('plugboards',{}))
|
self.current_plugboards = copy.deepcopy(self.db.prefs.get('plugboards',{}))
|
||||||
@ -73,7 +62,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
|
|||||||
if n not in self.disabled_devices:
|
if n not in self.disabled_devices:
|
||||||
self.disabled_devices.append(n)
|
self.disabled_devices.append(n)
|
||||||
|
|
||||||
self.devices.sort(cmp=lambda x, y: cmp(x.lower(), y.lower()))
|
self.devices.sort(key=lambda x: x.lower())
|
||||||
self.devices.insert(1, plugboard_save_to_disk_value)
|
self.devices.insert(1, plugboard_save_to_disk_value)
|
||||||
self.devices.insert(1, plugboard_content_server_value)
|
self.devices.insert(1, plugboard_content_server_value)
|
||||||
self.device_to_formats_map[plugboard_content_server_value] = \
|
self.device_to_formats_map[plugboard_content_server_value] = \
|
||||||
|
@ -61,7 +61,7 @@ class PluginModel(QAbstractItemModel, AdaptSQP): # {{{
|
|||||||
self.categories = sorted(self._data.keys())
|
self.categories = sorted(self._data.keys())
|
||||||
|
|
||||||
for plugins in self._data.values():
|
for plugins in self._data.values():
|
||||||
plugins.sort(cmp=lambda x, y: cmp(x.name.lower(), y.name.lower()))
|
plugins.sort(key=lambda x: x.name.lower())
|
||||||
|
|
||||||
def universal_set(self):
|
def universal_set(self):
|
||||||
ans = set([])
|
ans = set([])
|
||||||
|
@ -427,7 +427,7 @@ def get_manufacturers():
|
|||||||
|
|
||||||
def get_devices_of(manufacturer):
|
def get_devices_of(manufacturer):
|
||||||
ans = [d for d in get_devices() if d.manufacturer == manufacturer]
|
ans = [d for d in get_devices() if d.manufacturer == manufacturer]
|
||||||
return sorted(ans, cmp=lambda x,y:cmp(x.name, y.name))
|
return sorted(ans, key=lambda x: x.name)
|
||||||
|
|
||||||
|
|
||||||
class ManufacturerModel(QAbstractListModel):
|
class ManufacturerModel(QAbstractListModel):
|
||||||
@ -682,7 +682,7 @@ class LibraryPage(QWizardPage, LibraryUI):
|
|||||||
if l != lang]
|
if l != lang]
|
||||||
if lang != 'en':
|
if lang != 'en':
|
||||||
items.append(('en', get_esc_lang('en')))
|
items.append(('en', get_esc_lang('en')))
|
||||||
items.sort(cmp=lambda x, y: cmp(x[1], y[1]))
|
items.sort(key=lambda x: x[1])
|
||||||
for item in items:
|
for item in items:
|
||||||
self.language.addItem(item[1], (item[0]))
|
self.language.addItem(item[1], (item[0]))
|
||||||
self.language.blockSignals(False)
|
self.language.blockSignals(False)
|
||||||
|
@ -216,7 +216,7 @@ class CustomColumns(object):
|
|||||||
if data['is_multiple'] and data['datatype'] == 'text':
|
if data['is_multiple'] and data['datatype'] == 'text':
|
||||||
ans = ans.split(data['multiple_seps']['cache_to_list']) if ans else []
|
ans = ans.split(data['multiple_seps']['cache_to_list']) if ans else []
|
||||||
if data['display'].get('sort_alpha', False):
|
if data['display'].get('sort_alpha', False):
|
||||||
ans.sort(cmp=lambda x,y:cmp(x.lower(), y.lower()))
|
ans.sort(key=lambda x:x.lower())
|
||||||
return ans
|
return ans
|
||||||
|
|
||||||
def get_custom_extra(self, idx, label=None, num=None, index_is_id=False):
|
def get_custom_extra(self, idx, label=None, num=None, index_is_id=False):
|
||||||
@ -243,7 +243,7 @@ class CustomColumns(object):
|
|||||||
if data['is_multiple'] and data['datatype'] == 'text':
|
if data['is_multiple'] and data['datatype'] == 'text':
|
||||||
ans = ans.split(data['multiple_seps']['cache_to_list']) if ans else []
|
ans = ans.split(data['multiple_seps']['cache_to_list']) if ans else []
|
||||||
if data['display'].get('sort_alpha', False):
|
if data['display'].get('sort_alpha', False):
|
||||||
ans.sort(cmp=lambda x,y:cmp(x.lower(), y.lower()))
|
ans.sort(key=lambda x: x.lower())
|
||||||
if data['datatype'] != 'series':
|
if data['datatype'] != 'series':
|
||||||
return (ans, None)
|
return (ans, None)
|
||||||
ign,lt = self.custom_table_names(data['num'])
|
ign,lt = self.custom_table_names(data['num'])
|
||||||
|
@ -1018,7 +1018,7 @@ ALTER TABLE books ADD COLUMN isbn TEXT DEFAULT "" COLLATE NOCASE;
|
|||||||
if not ans:
|
if not ans:
|
||||||
return []
|
return []
|
||||||
ans = [id[0] for id in ans]
|
ans = [id[0] for id in ans]
|
||||||
ans.sort(cmp=lambda x, y: cmp(self.series_index(x, True), self.series_index(y, True)))
|
ans.sort(key=lambda x: self.series_index(x, True))
|
||||||
return ans
|
return ans
|
||||||
|
|
||||||
def books_in_series_of(self, index, index_is_id=False):
|
def books_in_series_of(self, index, index_is_id=False):
|
||||||
|
@ -98,8 +98,7 @@ def get_mx(host, verbose=0):
|
|||||||
if verbose:
|
if verbose:
|
||||||
print('Find mail exchanger for', host)
|
print('Find mail exchanger for', host)
|
||||||
answers = list(dns.resolver.query(host, 'MX'))
|
answers = list(dns.resolver.query(host, 'MX'))
|
||||||
answers.sort(cmp=lambda x, y: cmp(int(getattr(x, 'preference', sys.maxint)),
|
answers.sort(key=lambda x: int(getattr(x, 'preference', sys.maxint)))
|
||||||
int(getattr(y, 'preference', sys.maxint))))
|
|
||||||
return [str(x.exchange) for x in answers if hasattr(x, 'exchange')]
|
return [str(x.exchange) for x in answers if hasattr(x, 'exchange')]
|
||||||
|
|
||||||
|
|
||||||
|
@ -760,7 +760,7 @@ class BasicNewsRecipe(Recipe):
|
|||||||
in index are not in weights, they are assumed to have a weight of 0.
|
in index are not in weights, they are assumed to have a weight of 0.
|
||||||
'''
|
'''
|
||||||
weights = defaultdict(lambda: 0, weights)
|
weights = defaultdict(lambda: 0, weights)
|
||||||
index.sort(cmp=lambda x, y: cmp(weights[x], weights[y]))
|
index.sort(key=lambda x: weights[x])
|
||||||
return index
|
return index
|
||||||
|
|
||||||
def parse_index(self):
|
def parse_index(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user