From 1fed61f47f8bd6ed472124988426ec61a00f8c6a Mon Sep 17 00:00:00 2001 From: bkfox Date: Mon, 10 Oct 2022 19:08:51 +0200 Subject: [PATCH] fix sound path query bugs --- aircox/management/commands/sounds_monitor.py | 8 ++++---- aircox/models/program.py | 4 ++-- aircox/settings.py | 4 +++- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/aircox/management/commands/sounds_monitor.py b/aircox/management/commands/sounds_monitor.py index cf50ee0..9a86f72 100755 --- a/aircox/management/commands/sounds_monitor.py +++ b/aircox/management/commands/sounds_monitor.py @@ -74,7 +74,7 @@ class SoundFile: Update related sound model and save it. """ if deleted: - sound = Sound.objects.filter(file=self.path).first() + sound = Sound.objects.path(self.path).first() if sound: sound.type = sound.TYPE_REMOVED sound.check_on_file() @@ -249,7 +249,7 @@ class MonitorHandler(PatternMatchingEventHandler): logger.info('sound deleted: %s', event.src_path) def deleted(event): SoundFile(event.src_path).sync(deleted=True) - self.pool.submit(deleted, event.src_path) + self.pool.submit(deleted, event) class Command(BaseCommand): @@ -325,9 +325,9 @@ class Command(BaseCommand): excerpts_handler = MonitorHandler(settings.AIRCOX_SOUND_EXCERPTS_SUBDIR, pool) observer = Observer() - observer.schedule(archives_handler, settings.AIRCOX_PROGRAMS_DIR, + observer.schedule(archives_handler, settings.AIRCOX_PROGRAMS_DIR_ABS, recursive=True) - observer.schedule(excerpts_handler, settings.AIRCOX_PROGRAMS_DIR, + observer.schedule(excerpts_handler, settings.AIRCOX_PROGRAMS_DIR_ABS, recursive=True) observer.start() diff --git a/aircox/models/program.py b/aircox/models/program.py index e55967d..42eef57 100644 --- a/aircox/models/program.py +++ b/aircox/models/program.py @@ -98,8 +98,8 @@ class Program(Page): Return a Program from the given path. We assume the path has been given in a previous time by this model (Program.path getter). """ - if path.startswith(settings.AIRCOX_PROGRAMS_DIR): - path = path.replace(settings.AIRCOX_PROGRAMS_DIR + '/', '') + if path.startswith(settings.AIRCOX_PROGRAMS_DIR_ABS): + path = path.replace(settings.AIRCOX_PROGRAMS_DIR_ABS, '') while path[0] == '/': path = path[1:] path = path[:path.index('/')] diff --git a/aircox/settings.py b/aircox/settings.py index 6d8d504..56b3377 100755 --- a/aircox/settings.py +++ b/aircox/settings.py @@ -86,7 +86,9 @@ ensure('AIRCOX_DEFAULT_USER_GROUPS', { }) # Directory for the programs data -ensure('AIRCOX_PROGRAMS_DIR', os.path.join(settings.MEDIA_ROOT, 'programs')) +ensure('AIRCOX_PROGRAMS_DIR', 'programs') +ensure('AIRCOX_PROGRAMS_DIR_ABS', os.path.join(settings.MEDIA_ROOT, + AIRCOX_PROGRAMS_DIR)) ########################################################################