aboutsummaryrefslogtreecommitdiffstats
path: root/youtube/channel.py
Commit message (Collapse)AuthorAgeFilesLines
* Add functional but preliminary channel tab supportJesus E2023-06-171-16/+23
| | | | | | | Add channel tabs to the channel template and script Update continuation token to request different tabs Add support for 'reelItemRenderer' format required to extract shorts
* Cache channel metadata for pages that don't provide itJesus E2023-05-281-4/+49
| | | | | | | | | Ensures channel profile picture & description are displayed Also ensures that videos added to a local playlist from such pages will have the channel name included Fixes #151
* Update channel ctoken format due to youtube changesJesus E2023-05-281-1/+44
| | | | | | Hopefully they don't immediately revert it. Related to #151
* Fix error with non-channel-id urlsJesus E2023-05-281-2/+4
| | | | Only update channel id based on the url if we have it
* Use ctoken_v3 format for channel playlist & search pagesJesus E2023-05-281-1/+4
| | | | For #151
* channels: Fix sorting & page prefixing not workingJesus E2023-05-281-2/+3
| | | | Further completes #151
* Update channel to new ctoken formatJesus E2023-05-281-9/+57
| | | | | | Huge thanks to @michaelweiser Different sortings still don't work for videos and playlists
* Prefix youtube URLs in video descriptions and channel about pageJames Taylor2021-08-091-0/+4
| | | | | | Closes #75 Signed-off-by: Jesús <heckyel@hyperbola.info>
* Channel: Allow going to next pages of playlists pageJames Taylor2021-03-151-1/+5
| | | | | | | Uses previous and next buttons. Now can view more than just first page of playlists page Signed-off-by: Jesús <heckyel@hyperbola.info>
* Fix channel searchJames Taylor2021-03-151-1/+19
| | | | | | | Update the search from the browse_ajax api to the new one Fixes #57 Signed-off-by: Jesús <heckyel@hyperbola.info>
* Fix regression: Channels not sorting by oldest/popularJames Taylor2021-03-031-1/+2
| | | | | | | | get_channel_first_page was mistakenly used when the sorting or view is different. Must use channel_tab which generates the necessary ctokens. Signed-off-by: Jesús <heckyel@hyperbola.info>
* Use new channel api endpoint now that browse_ajax is disabledJames Taylor2021-03-031-4/+21
| | | | | | Fixes channel pages > 1 Signed-off-by: Jesús <heckyel@hyperbola.info>
* Channel: use general pbj=1 endpoint to get first page of videosJames Taylor2021-03-031-3/+14
| | | | | | | | | YouTube disabled the browse_ajax endpoint. Quick fix for first channel page. In general, this will be more robust against api endpoint changes. As YouTube continues to change api endpoints, at least the subscriptions and first page will no longer break. Signed-off-by: Jesús <heckyel@hyperbola.info>
* channel: replace page #s w/ next page button using provided ctokenJames Taylor2020-12-181-17/+11
| | | | | | Since yt doesn't accept page #'s when sorting by oldest Signed-off-by: Jesús <heckyel@hyperbola.info>
* Fix channel search by using new protobuf formatJames Taylor2020-12-161-1/+2
| | | | | | | | Fixes 'Unknown Error' Closes #42 Signed-off-by: Jesús <heckyel@hyperbola.info>
* pep8Jesús2020-12-151-25/+40
|
* fix get_number_of_videos_channelzrose5842020-10-091-3/+4
|
* New ctoken format. Fix channel pages > 1.James Taylor2020-09-171-10/+32
| | | | page > 1 still broken when sorting by oldest
* channel: Rename headers_1&headers_pbj & include user agents in themJames Taylor2020-08-121-14/+13
| | | | | headers_1 -> headers_desktop headers_pbj -> headers_mobile
* channel_ctoken_desktop: fix parenthesis formattingJames Taylor2020-08-121-2/+1
|
* Switch to desktop endpnt w/ new ctoken format except sort by old>1James Taylor2020-08-121-12/+19
| | | | | Sorting by old for pages > 1 currently broken on some channels; it's still using the mobile endpoint.
* Switch to mobile api endpoint to fix 'Unknown error' blockageJames Taylor2020-08-111-33/+40
| | | | See https://github.com/iv-org/invidious/issues/1319#issuecomment-671732646
* extract_channel_info: Improve error extractionJames Taylor2020-08-111-1/+1
| | | | | | | | Use extract_str function since it's not always 'simpleText' Make sure we don't output an empty error message if we don't know what it is. channel.py: Don't check if error message is empty, check if it's None
* Fix regression: local playlist form not shown on channel videos pageJames Taylor2020-03-291-0/+1
|
* Give a proper error message for 429 errorsJames Taylor2020-01-311-0/+2
| | | | | | These occur when too many requests are coming from a Tor exit node. Before, there would be an error page with an exception instructing users to report the issue. But this is an expected and persistent issue.
* Channel: Change search results to use next and previous page buttonsJames Taylor2019-12-231-8/+3
| | | | Because youtube doesn't give the number of search results, so previous behavior would give an error if a page number out of range was selected.
* Finally fix video count on channels accessed through general urls, rather ↵James Taylor2019-12-221-19/+34
| | | | | | | | | | | | | than just channel id. It was set to a fake value of 1000 previously in order to ensure there would be enough page buttons. This was because two sequential requests are necessary (one to get the channel id corresponding to the custom url, another to get the number of videos from the "all uploaded videos" playlist, the url for which can be generated from the channel id). Since Tor has a high latency, I thought at the time that this would be too slow, but in practice it's not too big of a deal. Introduces cachetools dependency in order to cache the function which gets the number of videos. The get_channel_id function has also been fixed since the ajax api seems to have been removed.
* channel.py: Refactor channel_id route logic into general channel url logic.James Taylor2019-12-221-53/+21
| | | | | Deduplicates the code. channel_id logic was previously separate because of the need to get the number of videos and different page numbers Also makes search work for general urls, not just channel_id urls
* Extraction: Move html post processing stuff from yt_data_extract to utilJames Taylor2019-12-191-2/+2
|
* Extraction: refactor response extraction to work with both mobile & desktop ↵James Taylor2019-09-191-4/+4
| | | | respones, also improve errors
* Extraction: Proper error handling for terminated or non-existant channelsJames Taylor2019-09-081-0/+5
|
* Extraction: Move channel extraction to yt_data_extractJames Taylor2019-09-081-120/+2
|
* Extraction: Fix url prefixingJames Taylor2019-09-081-4/+3
|
* Subscriptions: improve checking messages, say how many new vids from channelJames Taylor2019-08-141-3/+5
|
* Add subscribe button on channelsJames Taylor2019-08-101-3/+3
|
* channel bugfix: supply playlist names in playlist adding form for tabs with vidsJames Taylor2019-07-241-1/+3
|
* Remove ad-hoc response saving from code, create a debug setting for fetch_urlJames Taylor2019-07-231-16/+8
|
* channel: Add short description under channel nameJames Taylor2019-07-231-1/+1
|
* Fix error when channel has empty descriptionJames Taylor2019-07-231-2/+4
|
* Fix unrouted channel avatar image on empty channelsJames Taylor2019-07-231-10/+13
|
* Delete obsolete filesJames Taylor2019-07-211-2/+1
|
* Convert channel page to flask frameworkJames Taylor2019-07-061-282/+192
|
* refactor common.py into 3 filesJames Taylor2019-02-211-32/+32
|
* channel: Don't completely fail if can't retrieve # of vidsJames Taylor2019-02-161-1/+10
|
* Use pbj format for playlist requests, ajax deprecatedJames Taylor2019-02-071-3/+10
|
* Content-type: text/plain for errors or status messagesJames Taylor2019-01-061-3/+3
|
* Add newline to end of filesJames Taylor2019-01-061-1/+1
|
* rename env['fields'] to env['parameters'] and rename fields to parameters in ↵James Taylor2019-01-061-1/+1
| | | | general
* WSGI for GET and POST requests with path dataJames Taylor2019-01-061-24/+34
|
* Properly handle case of non-existent channel tabJames Taylor2018-12-211-3/+3
|