clean up duplicate header code
This commit is contained in:
parent
a1e6fdb8f8
commit
5e2733f841
22
ycast.py
22
ycast.py
|
@ -9,7 +9,6 @@ import xml.etree.cElementTree as etree
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
VTUNER_INITURL = '/setupapp/Yamaha/asp/BrowseXML/loginXML.asp'
|
VTUNER_INITURL = '/setupapp/Yamaha/asp/BrowseXML/loginXML.asp'
|
||||||
XMLHEADER = '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>'
|
|
||||||
YCAST_LOCATION = 'ycast'
|
YCAST_LOCATION = 'ycast'
|
||||||
|
|
||||||
stations = {}
|
stations = {}
|
||||||
|
@ -39,19 +38,13 @@ class YCastServer(BaseHTTPRequestHandler):
|
||||||
get_stations()
|
get_stations()
|
||||||
self.address = 'http://' + self.headers['Host']
|
self.address = 'http://' + self.headers['Host']
|
||||||
if self.path.startswith(VTUNER_INITURL + '?token='):
|
if self.path.startswith(VTUNER_INITURL + '?token='):
|
||||||
self.send_response(200)
|
self.send_xml_header()
|
||||||
self.send_header('Content-type', 'text/html')
|
|
||||||
self.end_headers()
|
|
||||||
self.wfile.write(bytes(XMLHEADER, 'utf-8'))
|
|
||||||
self.wfile.write(bytes('<EncryptedToken>stub</EncryptedToken>', 'utf-8'))
|
self.wfile.write(bytes('<EncryptedToken>stub</EncryptedToken>', 'utf-8'))
|
||||||
elif self.path == '/' \
|
elif self.path == '/' \
|
||||||
or self.path == '/' + YCAST_LOCATION \
|
or self.path == '/' + YCAST_LOCATION \
|
||||||
or self.path == '/' + YCAST_LOCATION + '/'\
|
or self.path == '/' + YCAST_LOCATION + '/'\
|
||||||
or self.path.startswith(VTUNER_INITURL):
|
or self.path.startswith(VTUNER_INITURL):
|
||||||
self.send_response(200)
|
self.send_xml_header()
|
||||||
self.send_header('Content-type', 'text/html')
|
|
||||||
self.end_headers()
|
|
||||||
self.wfile.write(bytes(XMLHEADER, 'utf-8'))
|
|
||||||
xml = self.create_root()
|
xml = self.create_root()
|
||||||
for category in sorted(stations, key=str.lower):
|
for category in sorted(stations, key=str.lower):
|
||||||
self.add_dir(xml, category,
|
self.add_dir(xml, category,
|
||||||
|
@ -65,14 +58,17 @@ class YCastServer(BaseHTTPRequestHandler):
|
||||||
xml = self.create_root()
|
xml = self.create_root()
|
||||||
for station in sorted(stations[category], key=str.lower):
|
for station in sorted(stations[category], key=str.lower):
|
||||||
self.add_station(xml, station, stations[category][station])
|
self.add_station(xml, station, stations[category][station])
|
||||||
self.send_response(200)
|
self.send_xml_header()
|
||||||
self.send_header('Content-type', 'text/html')
|
|
||||||
self.end_headers()
|
|
||||||
self.wfile.write(bytes(XMLHEADER, 'utf-8'))
|
|
||||||
self.wfile.write(bytes(etree.tostring(xml).decode('utf-8'), 'utf-8'))
|
self.wfile.write(bytes(etree.tostring(xml).decode('utf-8'), 'utf-8'))
|
||||||
else:
|
else:
|
||||||
self.send_error(404)
|
self.send_error(404)
|
||||||
|
|
||||||
|
def send_xml_header(self):
|
||||||
|
self.send_response(200)
|
||||||
|
self.send_header('Content-type', 'text/html')
|
||||||
|
self.end_headers()
|
||||||
|
self.wfile.write(bytes('<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>', 'utf-8'))
|
||||||
|
|
||||||
def create_root(self):
|
def create_root(self):
|
||||||
return etree.Element('ListOfItems')
|
return etree.Element('ListOfItems')
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue