From b6180e1a30a2d2e1252f9dd88c1f8989b7cb0fc4 Mon Sep 17 00:00:00 2001 From: girst Date: Sun, 4 Oct 2020 16:07:16 +0200 Subject: [PATCH] update TODOs --- README.md | 36 +++++++----------------------------- 1 file changed, 7 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 282977d..cbb2847 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,6 @@ TODO: - document all the things - quality of life improvements: - asynchronically call update-subs and pull-subs on subscribing, iff necessary - - development-friendly error handling: - - log unkown info/endcards to file - - proper support for sponsorblock (cached db?) - (blocked on https://github.com/ajayyy/SponsorBlockServer/pull/86) - cleanups: - move subsystem-specific stuff out of common/common.py (e.g. reddit) - remove jsonify() @@ -36,38 +32,15 @@ TODO: - jinja2: for/else - welcome message: maybe make dismissable, show on all pages? - find a name! - - /channel/UE.../videos 404s - - invidious search: api returns 'nice' author strings (e.g. numberphile instead of UC...) - if not channel_id.match(...): redirect('/user/...') (in invidious blueprint) - - subscription button not in invidious blueprint; should also work for playlists - sometimes we cache broken video-urls!! - on websub: check if livestream and has postlivedvr enabled, if not delete afterwards (need test case!) - - reddit pagination is broken - - info/endcards: when deduplicating websites, ignore url protocol - reddit manager: buttons not styled correctly - /watch endpoint should allow continue playing playlist (&list=PL...&index=x) - - test fetch_ajax on blocked instance - - this channel is very suceptible to errors: UCJeTqOt4xDuL2imX7zYnJlw - UC6Om9kAkl32dWlDSNlDS9Iw - remove all instances of `grep -r macros.card app/` - - NEW CHANNEL PROTOBUF FORMAT https://git.gir.st/subscriptionfeed.git/commitdiff/4e3b56b967570b9498651cf758a5ca3c56640689 - this url should return the first video of page 2, which should be from ~1month ago. it works on my local machine, but not on my vps. i suspect, youtube are in the process of migrating schemas and have rolled them out to some regions only. -``` -curl -v 'https://www.youtube.com/browse_ajax?continuation=4qmFsgJoEhhVQ1h1cVNCbEhBRTZYdy15ZUpBMFR1bncaTEVnWjJhV1JsYjNNWUF5QUFNQUU0QWVvREprTm9iMGxuVEdwMk0wMTVlakZqVWxoRlp6UkxRVUpKUzBOT1lWZHFkR2xFT1hCMmRGZDM%253D&hl=en&gl=US' -H 'x-youtube-client-name: 1' -H 'x-youtube-client-version: 2.20200813.04.02' --compressed|jq '.[1].response.continuationContents.gridContinuation.items[0].gridVideoRenderer|[.title, .publishedTimeText]' -``` - -stuff to look at: - - app.config.from_pyfile('the-config.cfg') - NOTE: this will not work for the non-python/non-flask parts - - playlist types: - PL<30chars> normal playlist - PLAC5BDC262E18B063 : normal playlist, older format? - RD "Mix" playlist - RD<24chars> "Mix" playlist for musicians (e.g. foo fighters == RDEMx2SPzeaRXiOzpOe0SxPVJA) - wishlist: - - proxy googlevideo (and probably thumnails) responses + - allow forcing proxying googlevideo + - proxy thumnails - LibreJS (SPDX not supported; LibreJS doesn't define a AGPLv3-only identifier) # Installation @@ -94,6 +67,11 @@ see INSTALL file - put this in `app/__init__.py`: import socket, requests requests.packages.urllib3.util.connection.allowed_gai_family = lambda: socket.AF_INET + - playlist types: + PL<30chars> normal playlist + PLAC5BDC262E18B063 : normal playlist, older format? + RD "Mix" playlist + RD<24chars> "Mix" playlist for musicians (e.g. foo fighters == RDEMx2SPzeaRXiOzpOe0SxPVJA) # Advanced Topics -- 2.39.3