Compare commits
No commits in common. "5a75f428086eecbaefc4926b67ec9c5b4b0bedf7" and "5ea092dba65c3470edfbaad14a279c2814eb5865" have entirely different histories.
5a75f42808
...
5ea092dba6
|
@ -1,4 +1,5 @@
|
|||
#! /usr/bin/env python3
|
||||
# TODO: SoundMonitor class
|
||||
|
||||
"""Monitor sound files; For each program, check for:
|
||||
|
||||
|
@ -61,8 +62,10 @@ class Command(BaseCommand):
|
|||
)
|
||||
|
||||
def handle(self, *args, **options):
|
||||
monitor = SoundMonitor()
|
||||
SoundMonitor()
|
||||
if options.get("scan"):
|
||||
monitor.scan()
|
||||
self.scan()
|
||||
# if options.get('quality_check'):
|
||||
# self.check_quality(check=(not options.get('scan')))
|
||||
if options.get("monitor"):
|
||||
monitor.monitor()
|
||||
self.monitor()
|
||||
|
|
|
@ -214,31 +214,29 @@ def monitor():
|
|||
yield sound_monitor.SoundMonitor()
|
||||
|
||||
|
||||
class TestSoundMonitor:
|
||||
@pytest.mark.django_db
|
||||
class SoundMonitor:
|
||||
def test_report(self, monitor, program, logger):
|
||||
monitor.report(program, "component", "content", logger=logger)
|
||||
msg = f"{program}, component: content"
|
||||
assert logger._trace("info", args=True) == (msg,)
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_scan(self, monitor, programs, logger):
|
||||
def test_scan(self, monitor, program, logger):
|
||||
interface = Interface(None, {"scan_for_program": None})
|
||||
monitor.scan_for_program = interface.scan_for_program
|
||||
dirs = monitor.scan(logger)
|
||||
|
||||
assert logger._traces("info") == tuple([
|
||||
(('scan all programs...',), {}),] + \
|
||||
[((f"#{program.id} {program.title}",), {}) for program in programs])
|
||||
assert dirs == [program.abspath for program in programs]
|
||||
traces = tuple([
|
||||
[((program, settings.SOUND_ARCHIVES_SUBDIR), {"logger": logger, "type": Sound.TYPE_ARCHIVE}),
|
||||
((program, settings.SOUND_EXCERPTS_SUBDIR), {"logger": logger, "type": Sound.TYPE_EXCERPT})]
|
||||
for program in programs])
|
||||
traces_flat = tuple([item for sublist in traces for item in sublist])
|
||||
assert interface._traces("scan_for_program") == traces_flat
|
||||
assert logger._traces("info") == (
|
||||
"scan all programs...",
|
||||
f"#{program.id} {program.title}",
|
||||
)
|
||||
assert dirs == [program.abspath]
|
||||
assert interface._traces("scan_for_program") == (
|
||||
((program, settings.SOUND_ARCHIVES_SUBDIR), {"logger": logger})(
|
||||
(program, settings.SOUND_EXCERPTS_SUBDIR), {"logger": logger}
|
||||
)
|
||||
)
|
||||
|
||||
def broken_test_monitor(self, monitor, monitor_interfaces, logger):
|
||||
def test_monitor(self, monitor, monitor_interfaces, logger):
|
||||
def sleep(*args, **kwargs):
|
||||
monitor.stop()
|
||||
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
import pytest
|
||||
import os
|
||||
|
||||
from django.core.management import call_command
|
||||
from django.conf import settings
|
||||
|
||||
wav = b"RIFF$\x00\x00\x00WAVEfmt \x10\x00\x00\x00\x01\x00\x02\x00D\xac\x00\x00\x10\xb1\x02\x00\x04\x00\x10\x00data\x00\x00\x00\x00"
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_adding_a_sound(programs, fs):
|
||||
p0 = programs[0]
|
||||
assert len(p0.sound_set.all()) == 0
|
||||
|
||||
s0 = os.path.join(settings.PROJECT_ROOT, "static/media/%s/archives/sound.wav" % p0.path)
|
||||
fs.create_file(s0, contents=wav)
|
||||
call_command("sounds_monitor", "-s")
|
||||
assert len(p0.sound_set.all()) == 1
|
|
@ -40,9 +40,3 @@ LOGGING = {
|
|||
},
|
||||
},
|
||||
}
|
||||
|
||||
CACHES = {
|
||||
"default": {
|
||||
"BACKEND": "django.core.cache.backends.locmem.LocMemCache",
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
pytest~=7.2
|
||||
pytest-django~=4.5
|
||||
model_bakery~=1.10
|
||||
pyfakefs~=5.2
|
||||
|
|
Loading…
Reference in New Issue
Block a user