Commit Graph

103 Commits

Author SHA1 Message Date
ChunkyProgrammer
d7696574f4 Playlist: Use subtitle when author is missing 2023-09-11 22:35:57 -04:00
ChunkyProgrammer
1da00bade3 implement code suggestions
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
2023-04-02 16:31:59 -04:00
ChunkyProgrammer
a3da03bee9 improve accessibility 2023-03-27 22:56:29 -04:00
Samantaz Fox
87a5d70062 videos: move API's JSON structure to a dedicated module 2022-10-31 20:09:04 +01:00
Émilien Devos
c201ea53ba Add 404 status code on all possible endpoints 2022-05-27 14:06:38 +00:00
Dimitris Apostolou
7e4690e43c Fix typos 2022-02-07 14:57:14 +02:00
Samantaz Fox
971b6ec96f Fix 'Lint/UselessAssign' warnings reported by ameba 2022-01-28 02:19:53 +01:00
Samantaz Fox
12b818a83c Fix more 'Lint/ShadowingOuterLocalVar' warnings reported by ameba 2022-01-28 02:19:53 +01:00
Samantaz Fox
fa99c9aa85 Use '.dig?()' in playlist parsing 2022-01-28 02:19:53 +01:00
Samantaz Fox
5e3c9cf290 Remove useless arguments from playlist-related functions 2022-01-28 02:19:53 +01:00
Samantaz Fox
3bb7fbb2f1 Merge pull request #2719 from SamantazFox/batch-minor-fixes
Multiple minor fixes
2022-01-05 17:20:57 +01:00
Samantaz Fox
444b1c99d0 Show unavailable videos in playlists 2022-01-05 03:32:54 +01:00
Samantaz Fox
3b1a286290 Use dig?() for playlist title 2022-01-05 03:32:54 +01:00
Samantaz Fox
6c8a5a1e7f Fix leading spaces being collapsed in descriptions
Fixes #1954
2022-01-05 03:32:54 +01:00
Samantaz Fox
40ed4a0506 Clean useless database arguments (3/5) 2022-01-04 17:15:43 +01:00
Samantaz Fox
85cf27119c Move DB queries related to playlists in a separate module (3/3) 2022-01-04 17:15:43 +01:00
Samantaz Fox
46d08237c6 Move DB queries related to playlists in a separate module (2/3) 2022-01-04 17:13:52 +01:00
Samantaz Fox
3deafe9f8d Move DB queries related to playlists in a separate module (1/3) 2022-01-04 17:13:51 +01:00
Samantaz Fox
6cf0ff6b49 Remove useless auto_generated param from PlaylistVideo#to_xml
given the variables available in this function's context, 'author' and 'ucid'
provide the same data 'self.author' and 'self.ucid', respectively.

Given that fact, the variable `auto_generated` has no impact on the logic of
this function, and hence can be safely removed. this greatly simplifies the
code and makes it perfectly compatible with crystal's calling convention for
'#to_xml' methods.
2021-10-29 16:26:42 +02:00
Samantaz Fox
86f75758a7 Fix 'to_json' in struct PlaylistVideo 2021-10-29 16:26:42 +02:00
syeopite
17e481c107 Reduce block verbosity further 2021-10-25 01:14:14 -07:00
syeopite
20cb751ff6 Fix Lint/UnusedArgument issues 2021-10-25 01:12:26 -07:00
syeopite
585e4617e8 Lazy load (some) images 2021-10-14 08:18:44 -07:00
diogo
a1d6411f1f propagate video_id field on getting playlists 2021-10-11 23:51:07 +02:00
diogo
c4c8a10507 rename from continuation to video_id on get_playlist_videos 2021-10-11 23:49:08 +02:00
diogo
ee94ccdeb0 update to new YoutubeAPI 2021-10-11 23:49:08 +02:00
diogo
e3df9f9ead use dig for getting the video index 2021-10-11 23:49:08 +02:00
diogo
62dc629337 linting 2021-10-11 23:49:08 +02:00
diogo
dccdf38ce7 increase the max videos in a playlist 2021-10-11 23:49:07 +02:00
diogo
84124b837d use v1/next instead of searching for the continuation index 2021-10-11 23:49:07 +02:00
diogo
6176da3cbb linting 2021-10-11 23:46:23 +02:00
diogo
24bc3e2704 no need to normalize the offset 2021-10-11 23:45:22 +02:00
diogo
0a9e19646a pass the api/v1/playlists with videos before the offset 2021-10-11 23:43:41 +02:00
diogo
65e45c4079 linting 2021-10-11 23:30:49 +02:00
diogo
440105976f fix cases when high offset video from playlist has no offset in url 2021-10-11 23:30:49 +02:00
diogo
7eba7fbcc7 add index to playlist item 2021-10-11 23:30:49 +02:00
diogo
d9bfb3d305 playlist starts at the offset 2021-10-11 23:30:49 +02:00
Samantaz Fox
5b020e81ca Youtube api improvements (#2277)
* Put youtube API functions under the YoutubeAPI namespace

* Implement the following endpoints:
  - `next`
  - `player`
  - `resolve_url`

* Allow a ClientConfig to be passed to YoutubeAPI endpoint handlers.

* Add constants for many new clients

* Fix documentation of YoutubeAPI.browse(): Comments and search
  result aren't returned by the browse() endpoint but by the next()
  and search() endpoints, respectively.

* Accept gzip compressed data, to help save on bandwidth

* Add debug/trace logging

* Other minor fixes
2021-08-03 02:58:27 +02:00
Samantaz Fox
344ccf3b03 Use '/youtubei/v1/browse' endpoint for playlists 2021-05-24 13:19:28 +02:00
Samantaz Fox
43bd331e48 Multiple youtube_api.cr helper fixes
Add documentation
Bump web client version string
Add charset=UTF-8 to the 'content-type' header
Parse JSON and return it as a Hash
Handle API error messages
2021-05-24 13:19:28 +02:00
Samantaz Fox
93198438b8 Fix for issue #1989
Fixes #1989
2021-04-07 15:13:41 +02:00
Samantaz Fox
aaefa38602 Make the linter happy 2021-03-21 16:05:50 +01:00
Samantaz Fox
9bdfb0a32b Playlist: Support edge case where 'content' in JSON may be erroneously plural 2021-03-21 15:47:44 +01:00
Samantaz Fox
980f5f1299 Playlist: Fix video continuation (100+ videos playlists) 2021-03-21 15:47:03 +01:00
Samantaz Fox
89be1975ea Playlist: Fix continuation token generation 2021-03-21 15:43:49 +01:00
Samantaz Fox
fec82df451 Fix fetching of large playlist 2021-03-21 00:15:39 +01:00
Samantaz Fox
3de39698dd Make the build tests happy: remove blank lines 2021-03-11 03:46:17 +00:00
Samantaz Fox
b86476410f playlists: Fix description being simple text (issue #1767) 2021-03-11 00:44:35 +00:00
saltycrys
36e9fb9d68 Fix watch_videos endpoint
Playlists created by `watch_videos` do not have an author which caused a crash
previously.
2021-01-04 05:35:59 +01:00
saltycrys
e55a09241e Fix Invidious playlist continuation
Playing a video in a Invidious playlist now correctly redirects to the next
video. The problem was that the offset was updated in the wrong place.
2020-12-07 22:28:27 +01:00