2.6 KiB
Wiki-to-Spotify Soittolistan Päivittäjä 🎵
Tämä Python-skripti hakee automaattisesti kuluvan viikon biisivalinnat MediaWiki-sivulta ja päivittää ne haluttuun Spotifyn soittolistaan. Skripti on suunniteltu ajettavaksi automaattisesti taustalla (esim. Cronilla).
Ominaisuudet
- Kirjautuu MediaWiki-rajapintaan ja lukee kuluvan viikon (esim.
== Viikko 10 ==) sisällön. - Etsii tekstistä suorat Spotify-linkit.
- Jättää huomiotta muiden palveluiden (esim. YouTube) linkit.
- Korvaa valitun Spotify-soittolistan sisällön löydetyillä kappaleilla.
Vaatimukset
- Python 3
- uv (suositeltu) tai perinteinen
pippaketinhallintaan. - Spotify Developer -sovelluksen tunnukset (Client ID & Client Secret).
- Tunnukset kohde-MediaWikiin.
Asennus ja käyttöönotto
1. Lataa koodi ja luo virtuaaliympäristö
# Luo virtuaaliympäristö uv:lla
uv venv
# Aktivoi ympäristö (Mac/Linux)
source .venv/bin/activate
# TAI (Windows)
.venv\Scripts\activate
# Asenna riippuvuudet
uv pip install spotipy requests python-dotenv
2. Asetukset
Luo projektin juureen tiedosto nimeltä .env (voit kopioida .env.example -tiedoston pohjaksi) ja täytä sinne omat tietosi:
SPOTIPY_CLIENT_ID="sinun_spotify_client_id"
SPOTIPY_CLIENT_SECRET="sinun_spotify_client_secret"
SPOTIPY_REDIRECT_URI="http://localhost:8888/callback"
PLAYLIST_ID="soittolistan_id_jota_paivitetaan"
WIKI_USERNAME="wiki_tunnuksesi"
WIKI_PASSWORD="wiki_salasanasi"
WIKI_API_URL="https://sinun-wikisi.fi/api.php"
WIKI_PAGE_TITLE="Sivun_Nimi"
3. Ensimmäinen käynnistys ja Spotifyn luvitus
Ensimmäisellä ajokerralla skriptin täytyy saada sinulta lupa muokata soittolistaasi.
Aja skripti terminaalissa:
python skripti.py
- Skripti tulostaa terminaaliin pitkän Spotify-linkin.
- Kopioi linkki ja avaa se selaimessasi.
- Kirjaudu sisään Spotifyhin ja hyväksy luvat.
- Selaimesi ohjautuu tyhjälle sivulle (localhost). Kopioi tuon sivun osoiterivillä oleva koko URL ja liitä se takaisin terminaaliin.
- Projektikansioosi syntyy
.cache-tiedosto, joka pitää sinut jatkossa kirjautuneena. Älä jaa tätä tiedostoa eteenpäin!
Automatisointi (Linux/Mac)
Voit asettaa skriptin pyörimään automaattisesti esimerkiksi kerran päivässä Cron-työkalulla:
crontab -e
Lisää tiedoston loppuun (muista muuttaa oikea polku):
0 4 * * * cd /polku/projektiin && .venv/bin/python skripti.py >> skripti_loki.log 2>&1
Tämä ajaa päivityksen joka aamu klo 04:00 ja tallentaa tulosteet skripti_loki.log -tiedostoon.