Et provisorisk prosjekt for å kunne hente ut sendeplanen direkte fra Radio REST API.
Det hender folk i SM lurer på hva sendeplanen er, blant annet for å lage RR-annonser i Under Dusken. I stedet for at vi må skrive ned sendeplanen i et regneark, eller radioledelsen bruker et regneark som ikke i det hele tatt stemmer med hva som faktisk går, så kan de bruke denne nettapplikasjonen.
- Se sendeplanen for noen uker fram og tilbake.
- Mobil-vennlig
- Oppdateres hvert 5. minutt
- Data hentes rett fra DigAIRange (BCS)
- Sendeplanen kan lastes ned som CVS (nyttig for sommerimport!)
Obs: dette prosjektet avhenger av et API som gir tilgang til BCS-systemet, så det er ikke nyttig for noen utenfor Radio Revolt.
Som alle andre Python-ting, egentlig. Les deg opp på virtualenv hvis du ikke har brukt det før.
Oppsettet som beskrives her, bruker gunicorn som en web-server som kjører sendeplan.py-applikasjonen. Apache2 antas å være i bruk, og brukes som en reverse proxy. Det vil si at brukerne som aksesserer applikasjonen, gjør det gjennom Apache2, som internt bruker gunicorn-serveren. Apache2-serveren blir også satt til å cache sidene for fem minutter, så ikke RR-Sendeplan kan brukes til å DoS-e serveren som Radio-APIet kjører på.
Noen instruksjoner vil være forskjellige avhengig av om du bruker Upstart eller SystemD. Generelt så er Ubuntu 14.04 Upstart, og Ubuntu 16.04 SystemD, slå opp på Google hvis du er usikker.
- Sørg for at python3 og virtualenv er installert:
sudo apt-get install python3 virtualenv - Klon dette repoet:
git clone https://github.com/RadioRevolt/RR-Sendeplan.git - Gå inn i mappen:
cd RR-Sendeplan - Lag et virtualenv som bruker python3:
virtualenv -p python3 venv - Aktiver det:
. venv/bin/activate - Installer avhengigheter:
pip install -r requirements.txt - Åpne
settings.yaml.templateog fyll inn manglende innstillinger (nanoer grei editor for de som ikke har lærtvim). Lagre somsettings.yaml(i Vim gjør du dette ved å skrive:w settings.yaml) - Lag en ny bruker som skal kjøre denne applikasjonen:
sudo useradd rr-sendeplan. - Åpne
rr-sendeplan.conf.templateog fyll inn manglende variabler der (hvis du bruker upstart; gjør det samme medrr-sendeplan.service.templatehvis du bruker SystemD). Lagre somrr-sendeplan.conf(rr-sendeplan.servicehvis du bruker SystemD). - Lag en mappe i
/var/runfor socketen, kalt rr-sendeplan, og girr-sendeplanrettigheter til å skrive her. - Åpne
start-sendeplan.templateog fyll inn manglende variabler der. Lagre somstart-sendeplan. - Sørg for at fila
start-sendeplaner kjørbar for brukeren du lagde i steg 8:chmod g-w,g+x start-sendeplan; sudo chgrp rr-sendeplan start-sendeplan - Kopier
rr-sendeplan.confinn i/etc/init(krever sudo!) hvis du bruker Upstart, kopierrr-sendeplan.serviceinn i/etc/systemd/systemog kjørsudo systemctl enable rr-sendeplanhvis du bruker SystemD (kopiering gjøres medcp). - Start rr-sendeplan ved å kjøre
sudo service rr-sendeplan starthvis du bruker Upstart,sudo systemctl start rr-sendeplanhvis du bruker SystemD. - Lag mappe for cachen i
/var/cache/nginx/sendeplan.radiorevolt.no. Ginginxskrivetilgang her. - Åpne
sendeplan.radiorevolt.no.conf.templateog fyll inn manglende variabler der. Lagre somsendeplan.radiorevolt.no.conf. - Bruk denne configen:
ln -s /sti/til/sendeplan.radiorevolt.no.conf /etc/nginx/sites-availableogln -s /etc/nginx/sites-available/sendeplan.radiorevolt.no.conf /etc/nginx/sites-enabled - Sjekk at configen virker:
sudo nginx -t - Ta i bruk endringene:
sudo systemctl reload nginx