attempt better sorting
This commit is contained in:
19
Qalbum.py
19
Qalbum.py
@@ -100,9 +100,9 @@ def getimagelist(path,options=False):
|
|||||||
if options.timesort:
|
if options.timesort:
|
||||||
imgs.sort(key=lambda f: os.path.getmtime(os.path.join(path, f)),reverse=options.reverse)
|
imgs.sort(key=lambda f: os.path.getmtime(os.path.join(path, f)),reverse=options.reverse)
|
||||||
else:
|
else:
|
||||||
imgs.sort(reverse=options.reverse)
|
imgs.sort(reverse=options.reverse,key=lambda x: natural_sort_key(x))
|
||||||
else:
|
else:
|
||||||
imgs.sort()
|
imgs.sort(key=lambda x: natural_sort_key(x))
|
||||||
return imgs
|
return imgs
|
||||||
|
|
||||||
def getnonconvertiblelist(path,options=False):
|
def getnonconvertiblelist(path,options=False):
|
||||||
@@ -116,9 +116,9 @@ def getnonconvertiblelist(path,options=False):
|
|||||||
if options.timesort:
|
if options.timesort:
|
||||||
files.sort(key=lambda f: os.path.getmtime(os.path.join(path, f)),reverse=options.reverse)
|
files.sort(key=lambda f: os.path.getmtime(os.path.join(path, f)),reverse=options.reverse)
|
||||||
else:
|
else:
|
||||||
files.sort(reverse=options.reverse)
|
files.sort(reverse=options.reverse,key=lambda x: natural_sort_key(x))
|
||||||
else:
|
else:
|
||||||
files.sort()
|
files.sort(key=lambda x: natural_sort_key(x))
|
||||||
return files
|
return files
|
||||||
|
|
||||||
def getfiletimes(path,list):
|
def getfiletimes(path,list):
|
||||||
@@ -147,7 +147,7 @@ def getnonimagelist(path,options):
|
|||||||
if options.timesort:
|
if options.timesort:
|
||||||
files.sort(key=lambda f: os.path.getmtime(os.path.join(path, f)),reverse=options.reverse)
|
files.sort(key=lambda f: os.path.getmtime(os.path.join(path, f)),reverse=options.reverse)
|
||||||
else:
|
else:
|
||||||
files.sort(reverse=options.reverse)
|
files.sort(reverse=options.reverse,key=lambda x: natural_sort_key(x))
|
||||||
return files
|
return files
|
||||||
|
|
||||||
def getpathlist(path,options=False):
|
def getpathlist(path,options=False):
|
||||||
@@ -161,9 +161,9 @@ def getpathlist(path,options=False):
|
|||||||
if options.timesort:
|
if options.timesort:
|
||||||
paths.sort(key=lambda f: os.path.getmtime(f),reverse=options.reverse)
|
paths.sort(key=lambda f: os.path.getmtime(f),reverse=options.reverse)
|
||||||
else:
|
else:
|
||||||
paths.sort(reverse=options.reverse)
|
paths.sort(reverse=options.reverse,key=lambda x: natural_sort_key(x))
|
||||||
else:
|
else:
|
||||||
paths.sort()
|
paths.sort(key=lambda x: natural_sort_key(x))
|
||||||
return paths
|
return paths
|
||||||
|
|
||||||
def pathscript(path,list):
|
def pathscript(path,list):
|
||||||
@@ -404,6 +404,11 @@ def sizestring(size):
|
|||||||
return "%3.1f%s" % (size, x)
|
return "%3.1f%s" % (size, x)
|
||||||
size /= 1024.0
|
size /= 1024.0
|
||||||
|
|
||||||
|
def natural_sort_key(s, _nsre=re.compile('([0-9]+)')):
|
||||||
|
''' Natural sort / Claudiu@Stackoverflow '''
|
||||||
|
return [int(text) if text.isdigit() else text.lower()
|
||||||
|
for text in re.split(_nsre, s)]
|
||||||
|
|
||||||
def traverse(path,crumbs,inputs,options):
|
def traverse(path,crumbs,inputs,options):
|
||||||
''' The recursive main function to create the index.html and seek sub folders '''
|
''' The recursive main function to create the index.html and seek sub folders '''
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user