Add queue download progress
This commit is contained in:
+24
@@ -403,6 +403,23 @@ class DownloadQueueCancelTests(unittest.TestCase):
|
||||
)
|
||||
self.assertEqual(job["log"], ["Downloading episode 1"])
|
||||
|
||||
def test_append_log_parses_kaizoku_progress_lines(self):
|
||||
queue = object.__new__(APP.DownloadQueue)
|
||||
queue.lock = threading.RLock()
|
||||
queue._save_job_locked = lambda _job: None
|
||||
job = {"id": "job-1", "download_backend": "kaizoku", "log": [], "updated_at": APP.now_iso()}
|
||||
|
||||
APP.DownloadQueue._append_log(
|
||||
queue,
|
||||
job,
|
||||
'KAIZOKU_PROGRESS {"episode":1,"episode_index":1,"episode_total":12,"message":"Episode 1: downloaded segment 25/100 (25%).","percent":25,"segment":25,"segment_total":100}',
|
||||
)
|
||||
|
||||
self.assertEqual(job["progress"]["percent"], 25)
|
||||
self.assertEqual(job["progress"]["episode_total"], 12)
|
||||
self.assertEqual(job["progress"]["segment_total"], 100)
|
||||
self.assertEqual(job["log"], ["Episode 1: downloaded segment 25/100 (25%)."])
|
||||
|
||||
|
||||
class QueueApiTests(unittest.TestCase):
|
||||
def setUp(self):
|
||||
@@ -4123,6 +4140,13 @@ class TemplateHelperTests(unittest.TestCase):
|
||||
self.assertIn('const progress = `${job.completed || 0}/${job.total || 0} entries`;', APP.QUEUE_HTML)
|
||||
self.assertIn('const moved = `${job.moved || 0} moved`;', APP.QUEUE_HTML)
|
||||
|
||||
def test_queue_page_renders_download_progress_bar(self):
|
||||
self.assertIn('class="progress-wrap"', APP.QUEUE_HTML)
|
||||
self.assertIn('class="progress-fill"', APP.QUEUE_HTML)
|
||||
self.assertIn("function progressPercent(job)", APP.QUEUE_HTML)
|
||||
self.assertIn('item.querySelector(".progress-fill").style.width = `${percent}%`;', APP.QUEUE_HTML)
|
||||
self.assertIn("segment ${progress.segment}/${progress.segment_total}", APP.QUEUE_HTML)
|
||||
|
||||
def test_search_page_queues_selected_title_with_result_index(self):
|
||||
self.assertIn('query: state.selected.title,', APP.INDEX_HTML)
|
||||
self.assertIn('result_index: state.selected.index,', APP.INDEX_HTML)
|
||||
|
||||
Reference in New Issue
Block a user