Il Post Podcasts — plasmoide KDE Plasma 6

Avatar del progetto

Plasmoide standalone per KDE Plasma 6 che visualizza gli episodi più recenti dei podcast de Il Post, mette i programmi preferiti in cima e permette di riprodurre gli episodi con un player KDE compatibile con MPRIS.

Progetto derivato, non libreria upstream. Questo repository non è il repository upstream originale clonato e non pretende di essere una nuova versione della libreria thekoma/ilpostapi. È un progetto separato, con scopo, struttura, UI e ciclo di rilascio propri, che integra e utilizza gli endpoint/API individuati nel progetto upstream.

Relazione con upstream

  • Upstream di riferimento: thekoma/ilpostapi
  • Questo progetto: enne2/ilpost-podcasts-plasmoid
  • Il repository upstream resta la sorgente di riferimento per gli endpoint non ufficiali de Il Post; questo plasmoide ne riusa il modello API senza incorporare il backend web upstream.
  • Gli aggiornamenti upstream non vengono importati automaticamente: vanno valutati e integrati manualmente quando cambiano endpoint o formato delle risposte.
  • Il client usa gli endpoint non ufficiali autenticati de Il Post (/user/v1/auth/login e /podcast/v1/podcast). Usarlo solo con un account autorizzato e nel rispetto dei Termini di servizio.

Funzionalità

  • Elenco degli episodi più recenti dei programmi disponibili.
  • Programmi preferiti selezionabili dalle impostazioni Plasma e mostrati con priorità.
  • Copertine asincrone con cache e icona di fallback se l'artwork non è disponibile.
  • Login dal widget; username, password e token vengono conservati in KWallet tramite kwallet-query, non in KConfig o nei file del progetto.
  • Riproduzione con Dragon Player, player KDE che espone MPRIS (org.mpris.MediaPlayer2.dragonplayer), con fallback al player predefinito tramite xdg-open.
  • Aggiornamento periodico configurabile e filtro “solo preferiti”.

Struttura

package/
  metadata.json
  contents/config/       # impostazioni Plasma 6
  contents/ui/            # interfaccia QML e catalogo programmi
  contents/lib/           # plugin QML compilato durante la build
src/                     # client API/KWallet e plugin QML C++
CMakeLists.txt

Il codice è volutamente standalone: package/ è il pacchetto Plasma, mentre src/ contiene il bridge C++ per rete, autenticazione, KWallet e avvio del player.

Compilazione e installazione locale

Dipendenze: Qt 6 Core/Network/Qml, kwallet-query, kpackagetool6 e Dragon Player (oppure un handler audio compatibile).

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --build build --target install-plasmoid

Per una prima installazione:

kpackagetool6 -t Plasma/Applet -i package

Test rapido:

plasmawindowed org.enne2.ilpost.podcasts

Dopo l'installazione, aggiungere Podcast de Il Post al desktop e aprire Configura per scegliere preferiti, quantità e intervallo di aggiornamento. Le credenziali vanno inserite nei campi del widget, non nella shell o nei file Git.

Sviluppo upstream

Il repository upstream può essere registrato come remoto di sola lettura:

git remote add upstream https://github.com/thekoma/ilpostapi.git
git fetch upstream --prune

origin deve rimanere il repository Gitea del plasmoide. Prima di integrare modifiche upstream, verificare manualmente endpoint, autenticazione, campi JSON e Termini di servizio.

Sicurezza e limiti

  • Non committare credenziali, token, file .env o dump delle risposte API.
  • KWallet deve essere disponibile nella sessione KDE; se non lo è, il login non può salvare i segreti.
  • Le API usate non sono un contratto pubblico stabile e possono cambiare senza preavviso.
  • L'audio e le copertine possono mancare per alcuni episodi o dipendere dai permessi dell'account.

Licenza

Il codice del plasmoide è distribuito con licenza GPL-3.0-or-later, come indicato nei metadati del pacchetto. L'attribuzione all'upstream resta esplicita sopra; verificare sempre gli obblighi applicabili prima di redistribuire o modificare il progetto.

S
Description
KDE Plasma 6 plasmoid derived from and integrating thekoma/ilpostapi
Readme
220 KiB
Languages
C++ 51.6%
QML 45.3%
CMake 3.1%