Replace cmp function with key function

This commit is contained in:
Éric Araujo 2011-09-18 21:03:24 +02:00
parent cc06ad187d
commit f30b5ae6fd
1 changed files with 2 additions and 15 deletions

View File

@ -28,7 +28,6 @@ import sysconfig
import tokenize
from hashlib import md5
from textwrap import dedent
from functools import cmp_to_key
from configparser import RawConfigParser
# importing this with an underscore as it should be replaced by the
# dict form or another structures for all purposes
@ -370,21 +369,9 @@ class MainProgram:
dist.data_files = [('', dist.data_files)]
# add tokens in the destination paths
vars = {'distribution.name': data['name']}
path_tokens = list(sysconfig.get_paths(vars=vars).items())
# TODO replace this with a key function
def length_comparison(x, y):
len_x = len(x[1])
len_y = len(y[1])
if len_x == len_y:
return 0
elif len_x < len_y:
return -1
else:
return 1
path_tokens = sysconfig.get_paths(vars=vars).items()
# sort tokens to use the longest one first
path_tokens.sort(key=cmp_to_key(length_comparison))
path_tokens = sorted(path_tokens, key=lambda x: len(x[1]))
for dest, srcs in (dist.data_files or []):
dest = os.path.join(sys.prefix, dest)
dest = dest.replace(os.path.sep, '/')