forked from openlp/openlp
The code in setup.py was written at around the time Noah got off the ark. Python 3 does not have a "cmp" function, nor does sorted() have a "cmp" parameter. Lose the extras that we don't need any more.
This commit is contained in:
parent
53905dec21
commit
9d572fd4c4
21
setup.py
21
setup.py
@ -45,7 +45,7 @@ def try_int(s):
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
return int(s)
|
return int(s)
|
||||||
except Exception:
|
except (TypeError, ValueError):
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
|
||||||
@ -58,25 +58,20 @@ def natural_sort_key(s):
|
|||||||
return list(map(try_int, SPLIT_ALPHA_DIGITS.findall(s)))
|
return list(map(try_int, SPLIT_ALPHA_DIGITS.findall(s)))
|
||||||
|
|
||||||
|
|
||||||
def natural_compare(a, b):
|
def natural_sort(seq):
|
||||||
"""
|
|
||||||
Compare two strings naturally and return the result.
|
|
||||||
|
|
||||||
:param a: A string to compare.
|
|
||||||
:param b: A string to compare.
|
|
||||||
"""
|
|
||||||
return cmp(natural_sort_key(a), natural_sort_key(b))
|
|
||||||
|
|
||||||
|
|
||||||
def natural_sort(seq, compare=natural_compare):
|
|
||||||
"""
|
"""
|
||||||
Returns a copy of seq, sorted by natural string sort.
|
Returns a copy of seq, sorted by natural string sort.
|
||||||
|
|
||||||
|
:param seq: The sequence to sort.
|
||||||
|
:param compare: The comparison method to use
|
||||||
|
:return: The sorted sequence
|
||||||
"""
|
"""
|
||||||
import copy
|
import copy
|
||||||
temp = copy.copy(seq)
|
temp = copy.copy(seq)
|
||||||
temp.sort(compare)
|
temp.sort(key=natural_sort_key)
|
||||||
return temp
|
return temp
|
||||||
|
|
||||||
|
|
||||||
# NOTE: The following code is a duplicate of the code in openlp/core/utils/__init__.py. Any fix applied here should also
|
# NOTE: The following code is a duplicate of the code in openlp/core/utils/__init__.py. Any fix applied here should also
|
||||||
# be applied there.
|
# be applied there.
|
||||||
try:
|
try:
|
||||||
|
Loading…
Reference in New Issue
Block a user