mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Edit Book: Fix a regression in the last release that broke the Arrange into folders tool when arranging into sub-folders of a folder that does not exist.
This commit is contained in:
parent
fee04ccc5f
commit
a597903445
@ -268,13 +268,20 @@ def get_recommended_folders(container, names):
|
||||
|
||||
|
||||
def normalize_case(container, val):
|
||||
|
||||
def safe_listdir(x):
|
||||
try:
|
||||
return os.listdir(x)
|
||||
except EnvironmentError:
|
||||
return ()
|
||||
|
||||
parts = val.split('/')
|
||||
ans = []
|
||||
for i in range(len(parts)):
|
||||
q = '/'.join(parts[:i+1])
|
||||
x = container.name_to_abspath(q)
|
||||
xl = parts[i].lower()
|
||||
candidates = [c for c in os.listdir(os.path.dirname(x)) if c != parts[i] and c.lower() == xl]
|
||||
candidates = [c for c in safe_listdir(os.path.dirname(x)) if c != parts[i] and c.lower() == xl]
|
||||
ans.append(candidates[0] if candidates else parts[i])
|
||||
return '/'.join(ans)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user