YouTube to Podcast converter
Find a file
ThetaDev 1e59cd70ae
All checks were successful
continuous-integration/drone/push Build is passing
add global docker urls
2022-07-05 14:19:14 +02:00
assets limit downloads view to 100 items 2022-06-27 21:56:18 +02:00
deploy add global docker urls 2022-07-05 14:19:14 +02:00
docs add sphinx project 2022-06-29 22:41:57 +02:00
notes add podcast feed 2022-05-26 00:49:26 +02:00
ucast Bump version: 0.3.1 → 0.4.0 2022-07-05 13:57:07 +02:00
ucast_project add cache folder 2022-06-27 02:14:19 +02:00
.bumpversion.cfg Bump version: 0.3.1 → 0.4.0 2022-07-05 13:57:07 +02:00
.dockerignore add dockerfile 2022-06-26 23:23:16 +02:00
.drone.yml remove docker build step 2022-07-05 14:10:45 +02:00
.editorconfig add main page, protect feed 2022-06-02 01:41:48 +02:00
.env.example add podcast feed 2022-05-26 00:49:26 +02:00
.gitignore add generated styles 2022-06-23 23:54:50 +02:00
.pre-commit-config.yaml setup django project 2022-05-05 01:25:49 +02:00
LICENSE Initial commit 2022-04-10 15:15:47 +02:00
manage.py renamed django project 2022-05-10 13:21:48 +02:00
package-lock.json add video grid 2022-06-21 14:29:44 +02:00
package.json add video grid 2022-06-21 14:29:44 +02:00
poetry.lock add bump2version 2022-06-27 01:00:52 +02:00
pyproject.toml Bump version: 0.3.1 → 0.4.0 2022-07-05 13:57:07 +02:00
README.md add task documentation 2022-05-10 19:01:14 +02:00
tasks.py add video grid 2022-06-21 14:29:44 +02:00

Ucast

Der Ucast-Server bietet dem Nutzer die Möglichkeit, YouTube-Videos (z.B. News, Kommentare) einfach unterwegs oder z.B. während der Arbeit zu konsumieren. Dafür kann er Videos ausgewählter Kanäle automatisch als MP3 herunterladen und als Podcast-Feed bereitstellen.

Funktionsweise

Der Nutzer soll über eine Weboberfläche YouTube-Kanäle abonnieren können. Wenn diese Kanäle ein neues Video veröffentlichen, sollte der Server dieses Video automatisch herunterladen und ins MP3-Format konvertieren. Für jeden abonnierten Kanal soll der Server einen RSS-Feed bereitstellen, den man mit einen Podcast-Client abrufen kann.

Technik

Der Server sollte mit dem Webframework Django realisiert werden.

Die Weboberfläche wird mit Jinja-Templates gerendert, auf ein JS-Framework kann vorerst verzichtet werden. Für ein ansehnliches Ansehen sorgt Bootstrap.

Entwicklung

Project aufsetzen

  1. Python3 + Node.js + Poetry dependency manager + pnpm installieren
  2. Python-Dependencies mit poetry install installieren
  3. Node-Dependencies mit pnpm i installerien

Tasks (Python)

Ausführen: invoke <taskname>

test Unittests ausführen

lint Codequalität/Formatierung überprüfen

format Code mit black formatieren

makemigrations Datenbankmigration erstellen

get-cover --vid <YouTube-Video-ID> YouTube-Thumbnail herunterladen und Coverbilder zum Testen erzeugen (werden unter ucast/tests/testfiles abgelegt)

Tasks (Node.js)

Ausführen: npm run <taskname>

start Sass-Stylesheets automatisch bei Änderungen kompilieren

build Sass-Stylesheets kompilieren und optimieren