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.template
og fyll inn manglende innstillinger (nano
er 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.template
og fyll inn manglende variabler der (hvis du bruker upstart; gjør det samme medrr-sendeplan.service.template
hvis du bruker SystemD). Lagre somrr-sendeplan.conf
(rr-sendeplan.service
hvis du bruker SystemD). - Lag en mappe i
/var/run
for socketen, kalt rr-sendeplan, og girr-sendeplan
rettigheter til å skrive her. - Åpne
start-sendeplan.template
og fyll inn manglende variabler der. Lagre somstart-sendeplan
. - Sørg for at fila
start-sendeplan
er 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.conf
inn i/etc/init
(krever sudo!) hvis du bruker Upstart, kopierrr-sendeplan.service
inn i/etc/systemd/system
og kjørsudo systemctl enable rr-sendeplan
hvis du bruker SystemD (kopiering gjøres medcp
). - Start rr-sendeplan ved å kjøre
sudo service rr-sendeplan start
hvis du bruker Upstart,sudo systemctl start rr-sendeplan
hvis du bruker SystemD. - Lag mappe for cachen i
/var/cache/nginx/sendeplan.radiorevolt.no
. Ginginx
skrivetilgang her. - Åpne
sendeplan.radiorevolt.no.conf.template
og fyll inn manglende variabler der. Lagre somsendeplan.radiorevolt.no.conf
. - Bruk denne configen:
ln -s /sti/til/sendeplan.radiorevolt.no.conf /etc/nginx/sites-available
ogln -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