Entwicklungsmodus nutzt eigenen APPDATA-Ordner (PlaytubeDev statt Playtube)
Verhindert, dass ein lokaler Test-/Dev-Build (python main.py) sich Login-Profil und Discord-Konfiguration mit einer installierten/gepackten Playtube.exe teilt - genau das hatte zuletzt zur falschen Discord-Client-ID in der echten Installation gefuehrt. Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
@@ -5,7 +5,9 @@ Erweiterung) mit:
|
||||
|
||||
- **Zwei Tabs** – YouTube und YouTube Music laufen parallel, Musik spielt im
|
||||
Hintergrund weiter wenn du zu Videos wechselst.
|
||||
- **Login/Premium** – eigenes, persistentes Profil (`%APPDATA%\Playtube`), einmal bei
|
||||
- **Login/Premium** – eigenes, persistentes Profil (`%APPDATA%\Playtube`, im
|
||||
Entwicklungsmodus `%APPDATA%\PlaytubeDev` – bewusst getrennt, damit sich lokale
|
||||
Test-Builds nie mit einer installierten Version in die Quere kommen), einmal bei
|
||||
Google anmelden reicht fuer beide Dienste.
|
||||
- **Discord Rich Presence** – zeigt Titel, Kanal/Interpret, Fortschrittsbalken und
|
||||
einen Link-Button in deinem Discord-Profil, sobald etwas laeuft.
|
||||
@@ -133,7 +135,8 @@ QtWebEngine benoetigt unter Linux ein paar System-Bibliotheken (auf Debian/Ubunt
|
||||
das eingebettete Chromium (QtWebEngine) nicht als unsicheres WebView erkennt. Sollte
|
||||
die Meldung dennoch erscheinen: alle Playtube-Fenster/-Prozesse schliessen und neu
|
||||
starten (die Header greifen erst ab dem naechsten Prozessstart), notfalls einmal den
|
||||
Profilordner `%APPDATA%\Playtube\webprofile` loeschen und neu anmelden.
|
||||
Profilordner `%APPDATA%\Playtube\webprofile` (bzw. `PlaytubeDev` im
|
||||
Entwicklungsmodus) loeschen und neu anmelden.
|
||||
- 4K/Premium-Videoqualitaet kann eingeschraenkt sein, da die Open-Source-Variante von
|
||||
QtWebEngine kein Widevine-DRM mitbringt (Standard-Qualitaeten funktionieren normal).
|
||||
- Icon/Branding-Bilder liegen unter `assets/` und wurden mit `tools/generate_icon.py`
|
||||
|
||||
+11
-2
@@ -10,6 +10,13 @@ from typing import Any
|
||||
APP_NAME = "Playtube"
|
||||
APP_AUMID = "Playtube.DesktopClient" # Windows AppUserModelID
|
||||
|
||||
# Der Entwicklungsmodus (python main.py) benutzt einen eigenen APPDATA-Ordner
|
||||
# ("PlaytubeDev" statt "Playtube"), damit Login-Profil und Config sich NIE mit einer
|
||||
# gepackten/installierten Playtube.exe ueberschneiden (frueher fuehrte das dazu, dass
|
||||
# ein lokaler Test-Build und die echte Installation sich dieselbe config.json bzw.
|
||||
# denselben Browser-Profil-Lock geteilt haben).
|
||||
_DATA_DIR_NAME = APP_NAME if getattr(sys, "frozen", False) else f"{APP_NAME}Dev"
|
||||
|
||||
DEFAULT_CONFIG: dict[str, Any] = {
|
||||
"app_name": APP_NAME,
|
||||
"discord": {
|
||||
@@ -32,9 +39,11 @@ DEFAULT_CONFIG: dict[str, Any] = {
|
||||
|
||||
|
||||
def _app_data_dir() -> Path:
|
||||
"""Ordner fuer persistente Daten (Login-Profil, Config) - auch im gepackten .exe stabil."""
|
||||
"""Ordner fuer persistente Daten (Login-Profil, Config) - auch im gepackten .exe
|
||||
stabil. Entwicklungsmodus und gepackte .exe nutzen bewusst unterschiedliche
|
||||
Ordner (siehe _DATA_DIR_NAME)."""
|
||||
base = os.environ.get("APPDATA") or str(Path.home())
|
||||
d = Path(base) / APP_NAME
|
||||
d = Path(base) / _DATA_DIR_NAME
|
||||
d.mkdir(parents=True, exist_ok=True)
|
||||
return d
|
||||
|
||||
|
||||
Reference in New Issue
Block a user