Commit Graph

42 Commits

Author SHA1 Message Date
Stypox 0a4b88955a
searchfilters: convert youtube to new framework
Available content filters:
    Youtube
    - all
    - videos
    - channels
    - playlists
    Youtube Music
    - Songs
    - Videos
    - Albums
    - Playlists
    - Artists

    Available sort filters:
    - 'Sort by'
    - Upload Date
    - Duration
    - Features
2023-12-30 10:31:13 +01:00
Christian fc67d49f59 Update copyright notices
Update copyright notices to comply to GPLv3 and change NewPipe to NewPipe Extractor on some notices that were not updated.
2023-09-22 19:10:15 -03:00
AudricV 7366eab156
[YouTube] Add support for channel tabs and tags and age-restricted channels
Support of tags and videos, shorts, live, playlists and channels tabs has been
added for non-age restricted channels.

Age-restricted channels are now also supported and always returned the videos,
shorts and live tabs, accessible using system playlists. These tabs are the
only ones which can be accessed using YouTube's desktop website without being
logged-in.

The videos channel tab parameter has been updated to the one used by the
desktop website and when a channel extraction is fetched, this tab is returned
in the list of tabs as a cached one in the corresponding link handler.

Visitor data support per request has been added, as a valid visitor data is
required to fetch continuations with contents on the shorts tab. It is only
used in this case to enhance privacy.

A dedicated shorts UI elements (reelItemRenderers) extractor has been added,
YoutubeReelInfoItemExtractor. These elements do not provide the exact view
count, any uploader info (name, URL, avatar, verified status) and the upload
date.

All service's LinkHandlers are now using the singleton pattern and some code
has been also improved on the files changed.

Co-authored-by: ThetaDev <t.testboy@gmail.com>
Co-authored-by: Stypox <stypox@pm.me>
2023-08-06 12:15:04 +02:00
TobiGr 340095515d Make Kiosk IDs accessible if possible 2023-08-05 03:18:40 +02:00
Stypox 7293991832
[YouTube] Now music mixes can be treated as normal mixes
Using a playlist extractor on them would result in "Unviewable playlist" errors
2023-01-15 23:28:59 +01:00
Kavin c043597255
Update supported countries list. 2022-11-26 19:01:33 +00:00
Stypox 740a37a2de [YouTube] Fix checkstyle issues 2022-03-26 19:42:40 +01:00
FireMasterK ee32317315
Update supported countries list for YouTube. 2021-08-05 23:48:38 +05:30
TobiGr 657b00ca11 Smaller code improvements 2021-03-30 10:10:53 +02:00
TobiGr e4c40ae6d1 Use List.isEmpty() 2021-03-30 10:07:20 +02:00
TobiGr 3033c0b993 [YouTube] Music Mix: Fix playlist not being accepted
Regression introduced by YouTube Mix support (#280)
2020-12-23 21:08:36 +01:00
Xiang Rong Lin 22d2f7e400 [Youtube] Add cookies to youtube mix request
This way youtube wont return duplicates when getting more items of the mix (but youtube can also track us)
2020-12-12 20:32:40 +01:00
Stypox 421935401f [Youtube] Add subchannel functions to mix and fix imports 2020-12-12 20:30:57 +01:00
Xiang Rong Lin 3ff8619bcc [Youtube] apply wb9688 suggestion (mix)
Channel mix adjusments and test
Don't accept youtube music mix urls as playlist
Don't override playlistData to keep getInitialPage()
Remove json constants
Indentation
2020-12-12 20:30:57 +01:00
Xiang Rong Lin 0efb854d27 [Youtube] Implement mix extractor for auto-generated playlists.
-New YoutubeMixPlaylistExtractor, that extracts from a mix (auto-generated playlist).
-The url has the format of "youtube.com/watch?v=videoID&playlistID",
where playlistID always starts with "RD" and usually followed by the videoID.
-Change YoutubePlaylistLinkHandlerFactory to create a linkhandler with the given url if it is a mix.
-Change YoutubeService to return YoutubeMixPlaylistExtractor if the url is a mix.
2020-12-12 20:30:57 +01:00
wb9688 ac15df4548 Move YouTube Music search to its own class 2020-04-01 10:30:51 +02:00
TobiGr 030465b5d4 Improve code formatting and optimise imports 2020-02-15 13:36:54 +01:00
Mauricio Colli 26234a1c0f
Introduce FeedExtractor making fetching from dedicated feeds possible
YouTube, for example, has a dedicated feed which was built to be used
like this.
2020-01-28 02:44:18 -03:00
yausername f3a59a6cdc merged upstream/dev 2019-11-20 03:08:17 +05:30
Mauricio Colli 41b51adceb
[YouTube] Force english as the only supported language (#196) 2019-11-03 15:46:25 -03:00
Mauricio Colli 3638f0e0ea
Implement time ago parser and improve localization handling
- Handle special cases for languages where the number is not shown
- Rework the Downloader base implementation, allowing for more
advanced things to be done
- Separate the localization from the content country (just like
YouTube let's the user choose both).
2019-11-03 15:46:21 -03:00
Ritvik Saraf 22dac63698 merged upstream/dev 2019-03-08 03:09:05 +05:30
Ritvik Saraf 3dadf63028 refactored comments capability 2019-02-16 00:57:00 +05:30
Ritvik Saraf c4e502b9d2 Merge branch 'master' into peertube 2019-01-19 14:33:01 +05:30
Ritvik Saraf b05fa45080 resolved review comments 2018-12-28 13:02:00 +05:30
Ritvik Saraf df0db8468d merged master 2018-12-25 19:12:22 +05:30
Ritvik Saraf 05ef80c2eb Merge remote-tracking branch 'upstream/master' 2018-10-19 20:09:51 +05:30
Ritvik Saraf 20f280cb57 added peertube extractor 2018-10-12 00:40:22 +05:30
Christian Schabesberger 3a865749e8 fix issues Kiosk issue about localization, nad rename to preferred localization 2018-10-05 16:01:10 +02:00
Ritvik Saraf e85958b180 merged upstream/master 2018-09-29 13:19:00 +05:30
Ritvik Saraf c1199c8fcf added isCommentsSupported method 2018-09-23 01:12:11 +05:30
Ritvik Saraf 53d3997904 added comments extractor 2018-09-19 04:58:40 +05:30
Christian Schabesberger ce2bbee1e9 add propper localization 2018-09-15 22:29:28 +02:00
Christian Schabesberger aeb813840d fix search querry tests 2018-08-05 14:14:36 +02:00
Christian Schabesberger 28788a05db rename uih and remove afiliate link foo 2018-07-13 18:02:40 +02:00
Christian Schabesberger bd5423fe2a make less tests fail 2018-07-01 16:55:48 +02:00
Christian Schabesberger 17f46b8b12 rename UrlIdHandler to UIHFactory 2018-07-01 16:55:48 +02:00
Christian Schabesberger 06c67763d2 remove soundcloud and make first search test work 2018-07-01 16:55:48 +02:00
Christian Schabesberger b4544a67e8 add SearchExtractor 2018-07-01 16:55:48 +02:00
Christian Schabesberger 94d1eb6f32 restructure youtube service 2018-05-08 21:19:03 +02:00
Christian Schabesberger 08f0247d73 make UrlIdHandler actual wrapper for the url/id
fix tests

fix tests
2018-05-06 19:51:24 +02:00
Mauricio Colli f787b375e5
Created gradle module and moved existing code to new one 2018-03-14 00:44:02 -03:00