fix add missing
This commit is contained in:
parent
0689563c4d
commit
2959f44e24
1 changed files with 8 additions and 4 deletions
|
@ -30,8 +30,7 @@ def remove_missing(books=None):
|
|||
if books is None:
|
||||
books = collect_books()
|
||||
with db.session():
|
||||
prefs = settings.preferences
|
||||
prefix = os.path.join(os.path.expanduser(prefs['libraryPath']), 'Books' + os.sep)
|
||||
prefix = get_prefix()
|
||||
if os.path.exists(prefix):
|
||||
logger.debug('scan for removed files')
|
||||
db_paths = []
|
||||
|
@ -90,14 +89,18 @@ def add_file(id, f, prefix, from_=None, commit=True):
|
|||
logger.debug('%s added', id)
|
||||
return file
|
||||
|
||||
def collect_books():
|
||||
def get_prefix():
|
||||
prefs = settings.preferences
|
||||
prefix = os.path.join(os.path.expanduser(prefs['libraryPath']), 'Books' + os.sep)
|
||||
if not prefix[-1] == os.sep:
|
||||
prefix += os.sep
|
||||
assert isinstance(prefix, str)
|
||||
return prefix
|
||||
|
||||
def collect_books():
|
||||
logger.debug('collect books')
|
||||
books = []
|
||||
prefix = get_prefix()
|
||||
for root, folders, files in os.walk(prefix):
|
||||
for f in files:
|
||||
if state.shutdown:
|
||||
|
@ -115,6 +118,7 @@ def collect_books():
|
|||
|
||||
def run_scan():
|
||||
logger.debug('run_scan')
|
||||
prefix = get_prefix()
|
||||
books = collect_books()
|
||||
remove_missing(books)
|
||||
|
||||
|
@ -159,7 +163,7 @@ def run_import(options=None):
|
|||
prefix = os.path.realpath(prefix)
|
||||
if not prefix[-1] == os.sep:
|
||||
prefix += os.sep
|
||||
prefix_books = os.path.join(os.path.expanduser(prefs['libraryPath']), 'Books' + os.sep)
|
||||
prefix_books = get_prefix()
|
||||
prefix_imported = os.path.join(prefix_books, '.import' + os.sep)
|
||||
if prefix_books.startswith(prefix) or prefix.startswith(prefix_books):
|
||||
error = 'invalid path'
|
||||
|
|
Loading…
Reference in a new issue