Stap 5: Scheiden referenties van hoofdbestand
Wilt u versiebeheer zoals git gebruiken om uw bestanden bij te houden, moet u scheiden van de gevoelige gegevens uit het bestand dat u online gezet. Gewoon kun je een nieuwe python bestand. Naam van dit bestand predefines.py en plaats deze in dezelfde map als radio.py.
We zijn ook gaan om schoon te maken wat code door het definiƫren van sommige functies.
host = '0.0.0.0' port = 1234 txtFile = 'stations.txt' templateFile = 'interface.html' def isInteger(s): try: int(s) return True except ValueError: return False def mpcCommand(cmd): p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) return p.stdout.read()
En op de top van uw radio.py bestand, voeg toe:
from predefines import host, port, txtFile, templateFile from flask_apscheduler import APScheduler
Als toestaan python correct UTF-8 om tekst weer te (de radio-stream kan soms UTF-8 karakters gebruiken in hun titels), op de top van het radio.py bestand, voegt de volgende 2 regels:
#!/usr/bin/python # -*- coding: utf-8 -*-
Nu moeten alle redundante bits van code nu worden vervangen door de nieuwe functie van de mpcCommand(). Het maakt de code een beetje leesbaarder en gemakkelijker nieuwe opdrachten toevoegen.
Bijvoorbeeld de volgende code:
if request.form['submit'] == 'turn radio on': cmd=['mpc', 'play'] p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE) out,err = p.communicate()
Wordt vervangen door:
if request.form['submit'] == 'turn radio on': mpcCommand(['mpc', 'play'])