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
|
- **Zwei Tabs** – YouTube und YouTube Music laufen parallel, Musik spielt im
|
||||||
Hintergrund weiter wenn du zu Videos wechselst.
|
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.
|
Google anmelden reicht fuer beide Dienste.
|
||||||
- **Discord Rich Presence** – zeigt Titel, Kanal/Interpret, Fortschrittsbalken und
|
- **Discord Rich Presence** – zeigt Titel, Kanal/Interpret, Fortschrittsbalken und
|
||||||
einen Link-Button in deinem Discord-Profil, sobald etwas laeuft.
|
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
|
das eingebettete Chromium (QtWebEngine) nicht als unsicheres WebView erkennt. Sollte
|
||||||
die Meldung dennoch erscheinen: alle Playtube-Fenster/-Prozesse schliessen und neu
|
die Meldung dennoch erscheinen: alle Playtube-Fenster/-Prozesse schliessen und neu
|
||||||
starten (die Header greifen erst ab dem naechsten Prozessstart), notfalls einmal den
|
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
|
- 4K/Premium-Videoqualitaet kann eingeschraenkt sein, da die Open-Source-Variante von
|
||||||
QtWebEngine kein Widevine-DRM mitbringt (Standard-Qualitaeten funktionieren normal).
|
QtWebEngine kein Widevine-DRM mitbringt (Standard-Qualitaeten funktionieren normal).
|
||||||
- Icon/Branding-Bilder liegen unter `assets/` und wurden mit `tools/generate_icon.py`
|
- 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_NAME = "Playtube"
|
||||||
APP_AUMID = "Playtube.DesktopClient" # Windows AppUserModelID
|
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] = {
|
DEFAULT_CONFIG: dict[str, Any] = {
|
||||||
"app_name": APP_NAME,
|
"app_name": APP_NAME,
|
||||||
"discord": {
|
"discord": {
|
||||||
@@ -32,9 +39,11 @@ DEFAULT_CONFIG: dict[str, Any] = {
|
|||||||
|
|
||||||
|
|
||||||
def _app_data_dir() -> Path:
|
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())
|
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)
|
d.mkdir(parents=True, exist_ok=True)
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user