mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Comic Input: When sorting the pages inside a comic, recognize numbers, so that page2 sorts before page10
This commit is contained in:
parent
ef3e10d033
commit
db3b08247e
@ -13,6 +13,7 @@ from Queue import Empty
|
|||||||
from calibre import extract, prints, walk
|
from calibre import extract, prints, walk
|
||||||
from calibre.constants import filesystem_encoding
|
from calibre.constants import filesystem_encoding
|
||||||
from calibre.ptempfile import PersistentTemporaryDirectory
|
from calibre.ptempfile import PersistentTemporaryDirectory
|
||||||
|
from calibre.utils.icu import numeric_sort_key
|
||||||
from calibre.utils.ipc.server import Server
|
from calibre.utils.ipc.server import Server
|
||||||
from calibre.utils.ipc.job import ParallelJob
|
from calibre.utils.ipc.job import ParallelJob
|
||||||
|
|
||||||
@ -57,11 +58,11 @@ def find_pages(dir, sort_on_mtime=False, verbose=False):
|
|||||||
pages.append(path)
|
pages.append(path)
|
||||||
break
|
break
|
||||||
if sort_on_mtime:
|
if sort_on_mtime:
|
||||||
comparator = lambda x, y : cmp(os.stat(x).st_mtime, os.stat(y).st_mtime)
|
key = lambda x:os.stat(x).st_mtime
|
||||||
else:
|
else:
|
||||||
comparator = lambda x, y : cmp(os.path.basename(x), os.path.basename(y))
|
key = lambda x:numeric_sort_key(os.path.basename(x))
|
||||||
|
|
||||||
pages.sort(cmp=comparator)
|
pages.sort(key=key)
|
||||||
if verbose:
|
if verbose:
|
||||||
prints('Found comic pages...')
|
prints('Found comic pages...')
|
||||||
prints('\t'+'\n\t'.join([os.path.basename(p) for p in pages]))
|
prints('\t'+'\n\t'.join([os.path.basename(p) for p in pages]))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user