fix: file scanning not working when startup, fix #163

This commit is contained in:
Terry Geng 2020-05-31 21:20:52 +08:00
parent a86a025d9a
commit 8f533cdc2d
No known key found for this signature in database
GPG Key ID: F982F8EA1DF720E7
2 changed files with 10 additions and 2 deletions

View File

@ -108,6 +108,14 @@ class MusicCache(dict):
self.dir_lock.acquire()
self.log.info("library: rebuild directory cache")
files = util.get_recursive_file_list_sorted(var.music_folder)
# remove deleted files
results = self.db.query_music(Condition().or_equal('type', 'file'))
for result in results:
if not os.path.exists(os.path.join(var.music_folder, 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']))
for file in files:
results = self.db.query_music(Condition().and_equal('path', file))
if not results:

View File

@ -50,8 +50,6 @@ class MumbleBot:
self.channel = var.config.get("server", "channel", fallback=None)
var.user = args.user
var.music_folder = util.solve_filepath(var.config.get('bot', 'music_folder'))
var.tmp_folder = util.solve_filepath(var.config.get('bot', 'tmp_folder'))
var.is_proxified = var.config.getboolean(
"webinterface", "is_web_proxified")
self.exit = False
@ -768,6 +766,8 @@ if __name__ == '__main__':
DatabaseMigration(var.db, var.music_db).migrate()
var.music_folder = util.solve_filepath(var.config.get('bot', 'music_folder'))
var.tmp_folder = util.solve_filepath(var.config.get('bot', 'tmp_folder'))
var.cache = MusicCache(var.music_db)
if var.config.get("bot", "refresh_cache_on_startup", fallback=True):