Mirror download job logs to stdout

This commit is contained in:
Dymas
2026-07-19 15:27:41 +02:00
parent 3f4baf21e8
commit ef2df14aab
8 changed files with 41 additions and 2 deletions
+15
View File
@@ -381,6 +381,21 @@ class DownloadQueueCancelTests(unittest.TestCase):
self.assertEqual(len(saved), 1)
self.assertEqual(saved[0][-1], "line flush")
def test_append_log_can_mirror_download_output_to_stdout(self):
queue = object.__new__(APP.DownloadQueue)
queue.lock = threading.RLock()
queue._save_job_locked = lambda _job: None
job = {"id": "job-1", "download_backend": "animdl", "log": [], "updated_at": APP.now_iso()}
with mock.patch.dict(os.environ, {"ANI_CLI_WEB_JOB_STDOUT": "true"}, clear=False), mock.patch("builtins.print") as print_mock:
APP.DownloadQueue._append_log(queue, job, "\x1b[32mDownloading episode 1\x1b[0m\n")
print_mock.assert_called_once_with(
"[download:job-1:animdl] Downloading episode 1",
flush=True,
)
self.assertEqual(job["log"], ["Downloading episode 1"])
class QueueApiTests(unittest.TestCase):
def setUp(self):