fix: optimized rescan procedure.
This commit is contained in:
parent
8f533cdc2d
commit
67b72af2de
@ -112,9 +112,11 @@ class MusicCache(dict):
|
|||||||
# remove deleted files
|
# remove deleted files
|
||||||
results = self.db.query_music(Condition().or_equal('type', 'file'))
|
results = self.db.query_music(Condition().or_equal('type', 'file'))
|
||||||
for result in results:
|
for result in results:
|
||||||
if not os.path.exists(os.path.join(var.music_folder, result['path'])):
|
if result['path'] not in files:
|
||||||
self.log.debug("library: music file missed: %s, delete from library." % result['path'])
|
self.log.debug("library: music file missed: %s, delete from library." % result['path'])
|
||||||
self.db.delete_music(Condition().and_equal('id', result['id']))
|
self.db.delete_music(Condition().and_equal('id', result['id']))
|
||||||
|
else:
|
||||||
|
files.remove(result['path'])
|
||||||
|
|
||||||
for file in files:
|
for file in files:
|
||||||
results = self.db.query_music(Condition().and_equal('path', file))
|
results = self.db.query_music(Condition().and_equal('path', file))
|
||||||
@ -137,7 +139,10 @@ class CachedItemWrapper:
|
|||||||
self.version = 0
|
self.version = 0
|
||||||
|
|
||||||
def item(self):
|
def item(self):
|
||||||
|
if self.id in self.lib:
|
||||||
return self.lib[self.id]
|
return self.lib[self.id]
|
||||||
|
else:
|
||||||
|
raise ValueError(f"Uncached item of id {self.id}.")
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
dict = self.item().to_dict()
|
dict = self.item().to_dict()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user