Compare commits

..
3 Commits
Author SHA1 Message Date
Ethanscharlie 83c2593ff4 Added README 2026-09-19 21:49:06 -06:00
Ethanscharlie 170914539d Updated requirements.txt 2026-09-19 21:48:58 -06:00
Ethanscharlie 4060cb672f Added Deno 2026-09-19 21:48:51 -06:00
3 changed files with 29 additions and 3 deletions
+21
View File
@@ -0,0 +1,21 @@
# Running with Docker
TBD
# Dependences
This section is only for people who do not want to use docker.
## Python Dependences
```
pip install -r requirements.txt
```
## Deno (JavaScript runtime for ytdlp)
For Linux
```
curl -fsSL https://deno.land/install.sh | sh
```
For Windows
```
irm https://deno.land/install.ps1 | iex
```
+7 -3
View File
@@ -19,9 +19,12 @@ from mutagen.id3 import ID3, APIC
from flask import Flask, render_template, request, jsonify
from ytmusicapi import YTMusic
MUSIC_FOLDER = os.environ.get("HAPPY_RIPPER_MUSIC_DIR", "Music")
ACCESS_URL = os.environ.get("HAPPY_RIPPER_ACCESS_URL", "https://test.test.test")
MUSIC_FOLDER: str = os.environ.get("HAPPY_RIPPER_MUSIC_DIR", "Music")
ACCESS_URL: str = os.environ.get("HAPPY_RIPPER_ACCESS_URL", "https://test.test.test")
PORT = int(os.environ.get("HAPPY_RIPPER_MUSIC_PORT", 5000))
DENO_PATH: str = os.environ.get("HAPPY_RIPPER_DENO_PATH", str(pathlib.Path.home() / ".deno/bin/deno"))
JS_RUNTIME_KEYS = {"deno": {"path": DENO_PATH}}
@dataclass
@@ -101,7 +104,7 @@ def create_or_wipe_folder(path: str) -> None:
def get_content_json(url: str):
with YoutubeDL({"playlist_items": "1"}) as ydl:
with YoutubeDL({"js_runtimes": JS_RUNTIME_KEYS, "playlist_items": "1"}) as ydl:
return ydl.extract_info(url, download=False)
@@ -109,6 +112,7 @@ def download_content(path: str, url: str, post_processor: PostProcessor) -> None
try:
with YoutubeDL(
{
"js_runtimes": JS_RUNTIME_KEYS,
"format": "bestaudio/best",
"ignoreerrors": True,
"restrictfilenames": True,
+1
View File
@@ -1,3 +1,4 @@
Flask==3.1.3
mutagen==1.47.0
yt_dlp==2026.8.19
ytmusicapi==1.12.1