also remove duplicates if they show up first

This commit is contained in:
j 2019-01-13 00:16:47 +05:30
parent 80b3ff5b91
commit 3d1a629970
1 changed files with 12 additions and 1 deletions

View File

@ -144,6 +144,15 @@ def run_scan():
if os.path.exists(f):
id = media.get_id(f)
file = File.get(id)
if file:
f1 = file.fullpath()
f2 = os.path.join(prefix, f)
if f1 != f2 and os.path.exists(f1) and os.path.exists(f2):
logger.debug('file exists in multiple locations %s', id)
logger.debug('"%s" vs "%s"', f1, f2)
os.chmod(f2, stat.S_IWRITE)
os.unlink(f2)
continue
if id in ids:
logger.debug('file exists in multiple locations %s', id)
if file:
@ -182,7 +191,9 @@ def run_scan():
logger.debug('cleaning up %s deleted records', len(gone))
for id in gone:
i = Item.get(id)
i.remove_file()
if not i.file or not os.path.exists(i.file.fullpath()):
logger.debug('cleaning orphaned record %s %s', i, i.file.fullpath() if i.file else '')
i.remove_file()
missing = ids - library_items
if missing:
logger.debug('%s items in library without a record', len(missing))