Commit Graph

246 Commits

Author SHA1 Message Date
Ivan Habunek
5bd0747dde
Respect --limit when downloading clips 2021-05-18 14:23:56 +02:00
Ivan Habunek
63c2aff334
Handle keyboard interrupt 2021-05-18 14:00:50 +02:00
Ivan Habunek
c0c5cbf2a8
Don't break if channel not found 2021-03-22 07:42:07 +01:00
Ivan Habunek
3f143b0c84
Fix file naming not to strip first digit of id
fixes #60
2021-03-22 07:42:07 +01:00
Ivan Habunek
2242af05fc
Add changelog, bump version 2021-02-15 14:35:20 +01:00
Ivan Habunek
9c901a21d9
Fix reference to invalid argument 2021-02-15 14:33:31 +01:00
Hegesippe Ëspace
e12dba26b4 Add dash as an allowed char, set length to 16. 2021-02-15 14:23:13 +01:00
Hegesippe Ëspace
3a61e61226 Add underscore as an allow char for clip extra ID 2021-02-15 14:23:13 +01:00
Hegesippe Ëspace
8ddfad51bc Update clip identifier patterns
New clips ID naming convention. ex: GloriousColdbloodedTortoiseRuleFive-E017utJ4DZmHVpfQ
2021-02-15 14:23:13 +01:00
Ivan Habunek
e0681ab53c
Bump version, changelog 2021-01-14 22:25:22 +01:00
Ivan Habunek
728e631623
Handle video not found in info 2021-01-14 22:23:40 +01:00
Ivan Habunek
9d19acbe6d
Re-apply fix lost to a merge conflict 2021-01-14 22:16:17 +01:00
Ivan Habunek
9e2bbd7e39
Bump version, changelog, readme 2021-01-14 22:14:53 +01:00
Ivan Habunek
dbee7cdc52
Use GraphQL to fetch access token
issue #53
2021-01-14 22:14:52 +01:00
Ivan Habunek
548a9350ba
Add twitch-dl info command 2021-01-14 22:14:52 +01:00
Ivan Habunek
2380dc5a35
Split up commands 2021-01-14 22:14:50 +01:00
Scotty Allen
a7340f178f Fix bug in videos command saying there are more videos when there aren’t
When listing videos, if --pager was not specified and all of the videos
for a channel were listed, a message would still print out saying
“There are more videos. Increase the --limit or use --pager to see the
rest."

This checks to see if there are actually more videos before printing
that error message.
2021-01-11 00:49:57 +01:00
Ivan Habunek
838611b834
Bump version 2020-11-23 16:08:15 +01:00
Ivan Habunek
cf8d13e80e
Fix clip download due to missing fields in query
fixes #45
2020-11-23 16:06:09 +01:00
Ivan Habunek
6108b15587
Handle channel not found in clips 2020-11-10 12:40:11 +01:00
Ivan Habunek
bb2de4af96
Bump version 2020-11-10 10:48:21 +01:00
Ivan Habunek
678bf11a8a
Fix print_clip when game is not set 2020-11-10 10:44:18 +01:00
Ivan Habunek
1cb4598a71
Add downloading clips 2020-11-10 09:22:07 +01:00
Ivan Habunek
02e4cdaff6
Add listing clips 2020-11-10 08:30:01 +01:00
Ivan Habunek
c2e9ab9382
Bump version 2020-09-29 12:22:24 +02:00
Ivan Habunek
739460bed1
Remove extraneous parameter 2020-09-29 12:21:13 +02:00
Ivan Habunek
c92ba5e183
Bump version 2020-09-29 11:28:35 +02:00
Ivan Habunek
f4ab045cdc
Add --pager option, don't page by default
issue #30
2020-09-29 11:28:35 +02:00
Ivan Habunek
c510d5aae4
Add --overwrite option
issue #37
2020-09-29 11:28:03 +02:00
Ivan Habunek
2abc56213e
Add --no-join option to skip ffmpeg join
issue #36
2020-09-29 11:27:49 +02:00
Ivan Habunek
bb16108572
Add source quality alias
issue #33
2020-09-29 08:26:40 +02:00
Ivan Habunek
b982cba566
Bump version, changelog 2020-09-03 12:56:57 +02:00
Ivan Habunek
eecd098f18
Add www before twitch.tv since that's what twitch uses 2020-09-03 12:55:45 +02:00
Ivan Habunek
041689bee9
Construct paths using path libs
Fixes issues with paths on windows.

issue #35
2020-09-03 12:26:28 +02:00
Ivan Habunek
a245ffb6a4
Fix issue with partial downloads
When using --start or --end, only keep the segments which have been
downloaded, and skip the rest.
2020-09-03 11:59:44 +02:00
Ivan Habunek
5b200a2cb7
Add a splash of color 2020-09-03 10:38:29 +02:00
Ivan Habunek
bf2a4558f4
Improve VOD joining logic
Instead of creating a file list, create a modified playlist which
references the downloaded files, and give this as input to ffmpeg. Since
ffmpeg handles M3U8 playlists, this means options such as
`EXT-X-BYTERANGE` are supported.

issue #35
2020-09-03 10:38:29 +02:00
Ivan Habunek
772faa5901
Log ffmpeg command and handle errors better 2020-09-03 10:38:28 +02:00
Ivan Habunek
04ddadef26
Add bundling with zipapp 2020-08-13 13:47:03 +02:00
Ivan Habunek
bbed398cf6
Fix version number in init file, bump version 2020-08-11 18:10:21 +02:00
Ivan Habunek
4edf299780
Handle more gracefully when video/clip not found 2020-08-09 11:55:40 +02:00
Ivan Habunek
78295a492c
Improve parsing inputs for download command
* Fix overzealous regex which caused video patterns to be identified as
  clips by testing for videos before clips.
* Allow URLs with or without `www.`.
* Add tests which verify this actually works.

fixes #28
2020-08-09 11:45:39 +02:00
Ivan Habunek
8222df3670
Allow numbers in clip slugs
issue #24
2020-08-07 16:35:56 +02:00
Ivan Habunek
65663d3505
Fix url to video shown when listing videos 2020-08-07 16:24:23 +02:00
Ivan Habunek
706e42d197
Make quality selectable for clip download 2020-08-07 16:23:08 +02:00
Ivan Habunek
3cfa05a3ee
Make quality selectable for video download 2020-08-07 16:23:00 +02:00
Ivan Habunek
4f62a26c30
Bump version, changelog 2020-06-10 12:07:59 +02:00
Ivan Habunek
2171a9e08e
Allow unicode values in slugs
Otherwise non-ascii characters get stripped which is not good for
e.g. titles in cyrillic script.
2020-06-10 10:54:28 +02:00
Ivan Habunek
15ca684286
Don't unpack options
This makes it more readable as option count increases.
2020-05-30 10:21:19 +02:00
Ivan Habunek
fd56a16c41
Fix option to use kebab case like the rest 2020-05-30 09:48:31 +02:00
Ivan Habunek
2cf66c022c
Don't break if game is None 2020-05-29 13:55:54 +02:00
Ivan Habunek
717f634dda
Remove unused code 2020-05-29 13:51:51 +02:00
Ivan Habunek
58458553bc
Bump version 2020-05-17 14:42:55 +02:00
Ivan Habunek
cabc8ff327
Improve paging 2020-05-17 14:41:11 +02:00
Ivan Habunek
d22fd74357
Add filtering videos by game 2020-05-17 14:35:33 +02:00
Ivan Habunek
4241ab5d67
Make less important messages dim 2020-05-17 14:32:37 +02:00
Ivan Habunek
94e9f6aa80
Extract graphql query function 2020-05-17 13:48:48 +02:00
Ivan Habunek
b014d94366
Blue is nicer than cyan 2020-05-17 13:48:16 +02:00
Ivan Habunek
ea01ef3d99
Add paging to videos command 2020-05-17 13:41:34 +02:00
Ivan Habunek
2118cd8825
Use graphql to fetch channel videos
The old helix endpoint returns HTTP 401

fixes #18
2020-05-17 11:57:16 +02:00
Ivan Habunek
6c28dd2f5e
Bump version 2020-04-25 20:06:02 +02:00
Ivan Habunek
e3dde90870
Specify broadcast type when listing videos
issue #13
2020-04-25 20:04:21 +02:00
Ivan Habunek
c628757ac0
Fix error message 2020-04-12 11:44:01 +02:00
Ivan Habunek
5e97b439a7
Bump version, changelog 2020-04-11 20:57:43 +02:00
Ivan Habunek
07f3a2fa48
Implement downloading clips
issue #15
2020-04-11 16:07:17 +02:00
Ivan Habunek
96f13e9cf7
Bump version, changelog 2020-04-11 14:07:14 +02:00
Ivan Habunek
c9547435df
Nicer otput while dowloading VODs, bright colors 2020-04-11 14:05:23 +02:00
Ivan Habunek
042d35ba1e
Override local file names for downloaded vods
Sometimes the playlists contain more than just file names which can
break the ffmpeg join, so just name downloaded vods sequentially.

fixes #12
2020-04-11 13:20:59 +02:00
Ivan Habunek
ebc754072d
Reorganise code 2020-04-11 13:08:42 +02:00
Ivan Habunek
64157c1ef6
Bump version 2020-04-10 16:34:37 +02:00
Ivan Habunek
6a8da3b01b
Don't print errors messages when retrying
Only die if all retries fail.
2020-04-10 16:22:15 +02:00
Ivan Habunek
e29d42e9ef
Use Twitch's client ID
Fetching access token with own client ID no longer works.

Everybody else in the world seems to be doing it:
https://github.com/search?p=2&q=kimne78kx3ncx6brgo4mv6wki5h1ko&type=Code
2020-04-10 16:21:10 +02:00
Ivan Habunek
100aa53b84
Bump version 2019-08-23 13:08:57 +02:00
Ivan Habunek
e384f26444
Save playlists to temp dir for debugging 2019-08-23 13:08:35 +02:00
Ivan Habunek
000754af8c
Use m3u8 lib to parse playlists 2019-08-23 12:36:05 +02:00
Ivan Habunek
6813bb51b4
Add option not to delete downloaded VODs 2019-08-23 10:16:49 +02:00
Ivan Habunek
34b0592cf3
Fix usage of deprecated v3 API
related #8
2019-08-23 09:03:33 +02:00
Ivan Habunek
e72f8e24ea
Bump version 2019-08-13 12:40:00 +02:00
Ivan Habunek
3c99e9975b
Bump version, changelog 2019-08-13 12:31:44 +02:00
Ivan Habunek
f807d4324b
Style the url in video list 2019-08-13 12:29:42 +02:00
Ivan Habunek
68a8b70948
Add offset and sort options to videos command
fixes #7
2019-08-13 12:25:25 +02:00
Ivan Habunek
932b7750b9
Print video URL 2019-08-12 15:21:57 +02:00
Ivan Habunek
aa5f17cbdb
Show errors returned via HTTP 400 2019-08-12 15:14:13 +02:00
Ivan Habunek
0fff0a4de1
Exit with nonzero code on error 2019-08-12 13:47:48 +02:00
Ivan Habunek
9dc67a7ff1
Bump version, add changelog 2019-07-05 13:15:59 +02:00
Ivan Habunek
3e7f310e36
Add --version option to print program version 2019-07-05 13:14:22 +02:00
Ivan Habunek
cbb0d6cfbd
Allow specifying the output format
i.e. the output file extension passed to ffmpeg
2019-07-05 13:04:09 +02:00
Ivan Habunek
9345dd966f
Bump version, add changelog 2019-06-06 11:10:21 +02:00
Ivan Habunek
e9bd706194
Allow limiting download by start and end time 2019-06-06 11:06:33 +02:00
Ivan Habunek
402a3a5582
Set default workers to 20 2019-04-30 13:36:49 +02:00
Ivan Habunek
e4e5a2be7e
Use print_out for output 2019-04-30 13:34:54 +02:00
Ivan Habunek
2a382087dd
Better parsing of twitch urls, strip query 2019-02-20 16:04:23 +01:00
Ivan Habunek
7d152f6424
Allow using video URL as arg to download command 2019-02-09 11:52:15 +01:00
Ivan Habunek
da60560b63
Improve download process
* allow resuming
* retry downloads
* add timeouts
2019-01-29 14:46:24 +01:00
Ivan Habunek
6dd65e7cbc
Extended output when downloading 2018-01-26 21:50:55 +01:00
Ivan Habunek
cc118627a0
Initial commit 2018-01-25 11:09:20 +01:00