Release: v3.1.0
This commit is contained in:
+2
-27
@@ -65,21 +65,11 @@ class RecordingManager:
|
||||
self._processes: dict[int, subprocess.Popen] = {}
|
||||
self._stop_events: dict[int, threading.Event] = {}
|
||||
self._threads: dict[int, threading.Thread] = {}
|
||||
self._metadata_monitor = None
|
||||
self._ntfy = None
|
||||
self._plik = None
|
||||
self._rec_options: dict[int, dict] = {}
|
||||
self._output_files: dict[int, list[str]] = {}
|
||||
|
||||
def _get_metadata_monitor(self):
|
||||
if self._metadata_monitor is None:
|
||||
from plugins.euer_radio import MetadataMonitor
|
||||
self._metadata_monitor = MetadataMonitor(
|
||||
log_fn=self._log,
|
||||
stop_fn=self.stop_recording,
|
||||
)
|
||||
return self._metadata_monitor
|
||||
|
||||
def _get_ntfy(self):
|
||||
if self._ntfy is None:
|
||||
from plugins.ntfy import NtfyNotifier
|
||||
@@ -126,10 +116,6 @@ class RecordingManager:
|
||||
segment_duration: Optional[int] = None,
|
||||
is_scheduled: bool = False,
|
||||
description: str = "",
|
||||
metadata_monitor_enabled: bool = False,
|
||||
metadata_pattern: str = "",
|
||||
metadata_grace_period: int = 300,
|
||||
metadata_poll_interval: int = 30,
|
||||
ntfy_enabled: bool = False,
|
||||
plik_enabled: bool = False,
|
||||
delete_after_upload: bool = False,
|
||||
@@ -199,16 +185,6 @@ class RecordingManager:
|
||||
self._log("INFO", f"Aufnahme gestartet: {name}", name)
|
||||
self._notify("start", "Aufnahme gestartet", name, rec_id)
|
||||
|
||||
if metadata_monitor_enabled and metadata_pattern:
|
||||
self._get_metadata_monitor().start_monitoring(
|
||||
rec_id=rec_id,
|
||||
stream_url=stream_url,
|
||||
pattern=metadata_pattern,
|
||||
grace_period=metadata_grace_period,
|
||||
poll_interval=metadata_poll_interval,
|
||||
job_name=name,
|
||||
)
|
||||
|
||||
return {"recording_id": rec_id, "output_dir": output_dir, "output_file": output_file}
|
||||
|
||||
def _recording_loop(
|
||||
@@ -331,9 +307,6 @@ class RecordingManager:
|
||||
return cmd
|
||||
|
||||
def stop_recording(self, rec_id: int) -> bool:
|
||||
if self._metadata_monitor:
|
||||
self._metadata_monitor.stop_monitoring(rec_id)
|
||||
|
||||
stop_event = self._stop_events.get(rec_id)
|
||||
if stop_event:
|
||||
stop_event.set()
|
||||
@@ -487,6 +460,7 @@ class RecordingManager:
|
||||
"segment_count": segment_count if rec.segment_mode else None,
|
||||
"remaining": remaining,
|
||||
"remaining_display": format_elapsed(remaining) if remaining is not None else None,
|
||||
"plik_url": rec.plik_url,
|
||||
}
|
||||
|
||||
def _calc_recording_size(self, output_files: list[str], segment_mode: bool) -> tuple[int, int]:
|
||||
@@ -536,6 +510,7 @@ class RecordingManager:
|
||||
segment_mode=segment_mode,
|
||||
delete_after=opts.get("delete_after_upload", False),
|
||||
ntfy_enabled=opts.get("ntfy_enabled", False),
|
||||
save_url_fn=lambda url: self._update_recording(rec_id, plik_url=url),
|
||||
)
|
||||
|
||||
def _cleanup(self, rec_id: int):
|
||||
|
||||
Reference in New Issue
Block a user