Spotify-päivittäjä Levyraatiin.
Find a file
2026-03-08 14:16:17 +00:00
.env.example Ensimmäinen versio: Spotify-päivittäjä 2026-03-08 14:16:17 +00:00
.gitignore Ensimmäinen versio: Spotify-päivittäjä 2026-03-08 14:16:17 +00:00
levyraati.py Ensimmäinen versio: Spotify-päivittäjä 2026-03-08 14:16:17 +00:00
README.md Ensimmäinen versio: Spotify-päivittäjä 2026-03-08 14:16:17 +00:00

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 pip paketinhallintaan.
  • 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.