58 Commits

Author SHA1 Message Date
65e3ec83b1 Add example systemd service unit file 2022-03-23 15:53:31 +01:00
266d3189dc Replace our maus-query.json file with an example with sane defaults 2022-03-23 15:49:54 +01:00
563ff4d342 Replace our config.ini with a sane example 2022-03-23 15:47:33 +01:00
287a755e65 Streamline download selection 2022-03-20 02:35:10 +01:00
d70766bae0 If a partial download exists in temp dir we resume it 2022-03-20 02:34:15 +01:00
380fb4bf2e Calculate total downloadable content length after deciding which downloads we need 2022-03-20 02:33:32 +01:00
e395309011 Cosmetics, remove unnecessary lines, rewrite help texts a bit 2022-03-20 02:31:55 +01:00
029d9ffb7e When replacing filename pattern strings only log the ones we're seeing in config file 2022-03-20 02:30:23 +01:00
ec612de2dd Remove event handler from downloads 2022-03-20 02:29:22 +01:00
2905ff5c74 Fix encoding for JSON files 2022-03-20 02:28:14 +01:00
0cfe47465d Fix encoding for JSON files 2022-03-20 02:27:55 +01:00
5eff7876bc Cosmetics, lower urllib3.connectionpool log level back to WARNING 2022-03-20 02:25:39 +01:00
4809846edf Correctly calculate download speed if we're resuming 2022-03-20 02:25:02 +01:00
b5dff485d9 Move downloaded file into target location even across file system boundaries 2022-03-20 02:22:12 +01:00
e78659b2de Example JSON query uses 100 results 2022-03-20 02:17:36 +01:00
27004a5294 By default 'hörfassung' isn't needed for downloads 2022-03-20 02:16:52 +01:00
d0552f9e67 Check if file was previously downloaded 2022-03-19 16:58:27 +01:00
dd6464de5d Start implementing range downloading 2022-03-19 16:58:04 +01:00
facfe4e7d3 Check state file for previous downloads, improve logging per thread 2022-03-19 16:08:12 +01:00
c0a271d0eb Cosmetics, add trailing newline 2022-03-19 14:13:45 +01:00
11b9daa729 Update urllib3 to 1.26.9 2022-03-19 14:13:17 +01:00
9a5ce9469d Use filelock to make sure we don't try to write state info from multiple download threads simultaneously 2022-03-19 14:12:42 +01:00
3f6bc46d52 Cosmetics, remove unused variable 2022-03-19 08:51:31 +01:00
601583afc3 Maintain a state file 2022-03-19 08:50:51 +01:00
7081c6b50a Generate safe filename 2022-03-19 03:52:26 +01:00
7b391be89e Cosmetics, replace safe filename regex with triple-quoted string so we don't have to bḁash-escape literal double quote 2022-03-19 01:53:39 +01:00
c5f74ce479 Separate function to expand download directory 2022-03-19 01:52:31 +01:00
4c327a35f5 Cosmetics, put imports at top of file 2022-03-19 01:51:44 +01:00
5e321686d0 Cosmetics, put imports at top of file 2022-03-19 01:51:11 +01:00
e02c0bf52e Add options to customize output filename 2022-03-19 01:50:05 +01:00
25d0059f14 Prep for logging and safe filenames 2022-03-17 18:41:17 +01:00
296e2ca7e5 Use user's download location, resolve mentions of ~ (tilde) and environment vars 2022-03-17 17:58:44 +01:00
34ef348929 Download episodes and provide regular updates 2022-03-17 17:37:57 +01:00
47bb1f761a Get total content_length and provide just one global stream of download progress updates 2022-03-17 17:23:41 +01:00
d92236a2f2 Prior to submitting download job to thread pool determine URL for highest quality 2022-03-17 16:13:13 +01:00
376932583e Dabble in downloading with Will McGugan's downloader example at https://github.com/Textualize/rich/blob/master/examples/downloader.py 2022-03-17 04:11:44 +01:00
6aeecabc9b Add humanize for human-readable number representation 2022-03-17 04:09:17 +01:00
bb4defdb82 In an MVW JSON response the 'size' attribute may be None e.g. when the result is an ORF .m3u8 instead of an .mp4 file 2022-03-17 02:07:50 +01:00
0f68ef558e exit if results list is empty (or is cleared during filtering) 2022-03-17 01:50:19 +01:00
32932fe803 Get unique list of files we want to download 2022-03-16 15:49:29 +01:00
c5830aeadc Use project profile 2022-03-15 04:31:30 +01:00
3b33fd65a7 Debugging 2022-03-15 04:30:53 +01:00
ffb9e9d5f4 Reformat function definitions with same indentation level 2022-03-15 04:30:26 +01:00
4ce2163e19 Require Pydantic 2022-03-15 04:28:35 +01:00
65fe4b707c Use Pydantic JSON model files 2022-03-15 04:27:28 +01:00
1110f3b024 Add Pydantic JSON model files 2022-03-15 04:25:03 +01:00
98d307db73 Get JSON response body from MediathekViewWeb 2022-03-14 15:06:57 +01:00
affa15e191 Get JSON query string from config 2022-03-14 06:58:45 +01:00
6686e91236 Add example json file for query string 2022-03-14 00:59:40 +01:00
f0130ce2fb Add default API endpoint for MediathekViewWeb instance 2022-03-13 17:28:19 +01:00