feature/9129_error_message_display #2
@ -23,7 +23,9 @@ def report():
|
|||||||
---
|
---
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: JSON
|
description: JSON with streams report.
|
||||||
|
400:
|
||||||
|
description: JSON with error message.
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
r = requests.get("http://localhost:9997/v1/paths/list")
|
r = requests.get("http://localhost:9997/v1/paths/list")
|
||||||
@ -34,8 +36,8 @@ def report():
|
|||||||
|
|
||||||
|
|
||||||
return jsonify(j)
|
return jsonify(j)
|
||||||
except:
|
except Exception as e:
|
||||||
return "Shat the bed", 500
|
return _error_message_json(e.message), 500
|
||||||
|
|
||||||
|
|
||||||
@app.route('/radio/report')
|
@app.route('/radio/report')
|
||||||
@ -62,24 +64,24 @@ def connect(radio):
|
|||||||
required: true
|
required: true
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: Successfully connected to a radio.
|
description: JSON with message successfully connected to a radio.
|
||||||
400:
|
400:
|
||||||
description: No radio device by that name is available.
|
description: JSON with error message No radio device by that name is available.
|
||||||
500:
|
500:
|
||||||
description: Failed to connect to radio.
|
description: JSON with error message failed to connect to radio.
|
||||||
"""
|
"""
|
||||||
if radio in radios:
|
if radio in radios:
|
||||||
return "Radio device already connected", 400
|
return _error_message_json("Radio device already connected"), 400
|
||||||
|
|
||||||
devices = [dict(device) for device in soapy.Device.enumerate()]
|
devices = [dict(device) for device in soapy.Device.enumerate()]
|
||||||
for device in devices:
|
for device in devices:
|
||||||
if radio in device.values():
|
if radio in device.values():
|
||||||
try:
|
try:
|
||||||
radios[radio] = Radio(radio, device)
|
radios[radio] = Radio(radio, device)
|
||||||
return "", 200
|
return jsonify("message","successfully connected radio"), 200
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
radios.pop(radio)
|
radios.pop(radio)
|
||||||
return str(e), 500
|
return _error_message_json(e.message), 500
|
||||||
|
|
||||||
|
|
||||||
return "Radio device not found", 400
|
return "Radio device not found", 400
|
||||||
@ -104,9 +106,9 @@ def disconnect(radio):
|
|||||||
"""
|
"""
|
||||||
if radio in radios:
|
if radio in radios:
|
||||||
radios.pop(radio)
|
radios.pop(radio)
|
||||||
return "", 200
|
return jsonify("message","succesfully disconnected radio"), 200
|
||||||
else:
|
else:
|
||||||
return "Radio not connected", 400
|
return _error_message_json("Radio not connected"), 400
|
||||||
|
|
||||||
@app.route('/radio/<radio>/configure/<frequency>')
|
@app.route('/radio/<radio>/configure/<frequency>')
|
||||||
def configure(radio, frequency):
|
def configure(radio, frequency):
|
||||||
@ -127,14 +129,14 @@ def configure(radio, frequency):
|
|||||||
required: true
|
required: true
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: JSON
|
description: JSON with radio configuration.
|
||||||
400:
|
400:
|
||||||
description: The specified radio is not connected.
|
description: The specified radio is not connected.
|
||||||
"""
|
"""
|
||||||
if radio in radios:
|
if radio in radios:
|
||||||
return jsonify(radios[radio].configure(frequency))
|
return jsonify(radios[radio].configure(frequency))
|
||||||
else:
|
else:
|
||||||
return "Radio not connected", 400
|
return _error_message_json("Radio not connected"), 400
|
||||||
|
|
||||||
@app.route('/radio/<radio>/start')
|
@app.route('/radio/<radio>/start')
|
||||||
def start_stream(radio):
|
def start_stream(radio):
|
||||||
@ -148,12 +150,17 @@ def start_stream(radio):
|
|||||||
in: path
|
in: path
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: JSON with message successful start of radio stream.
|
||||||
|
400:
|
||||||
|
description: JSON with error message.
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
radios[radio].start_stream()
|
radios[radio].start_stream()
|
||||||
return "", 200
|
return jsonify("message","successfully started radio stream"), 200
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return str(e), 400
|
return _error_message_json(e.message), 400
|
||||||
|
|
||||||
@app.route('/radio/<radio>/end')
|
@app.route('/radio/<radio>/end')
|
||||||
def end_stream(radio):
|
def end_stream(radio):
|
||||||
@ -165,12 +172,18 @@ def end_stream(radio):
|
|||||||
in: path
|
in: path
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: JSON with message successful termination of radio stream.
|
||||||
|
400:
|
||||||
|
description: JSON with error message.
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
radios[radio].end_stream()
|
radios[radio].end_stream()
|
||||||
return "", 200
|
return jsonify("message","successfully ended radio stream"), 200
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return str(e), 400
|
error_message = {"error_message": e.message}
|
||||||
|
return _error_message_json(e.message), 400
|
||||||
|
|
||||||
@app.route('/radio/<radio>/info')
|
@app.route('/radio/<radio>/info')
|
||||||
def radio_info(radio):
|
def radio_info(radio):
|
||||||
@ -184,14 +197,14 @@ def radio_info(radio):
|
|||||||
required: true
|
required: true
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: JSON
|
description: JSON with radio information.
|
||||||
400:
|
400:
|
||||||
description: The specified radio is not connected.
|
description: JSON with error message.
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
return jsonify(radios[radio].get_info())
|
return jsonify(radios[radio].get_info())
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return str(e), 400
|
return _error_message_json(e.message), 400
|
||||||
|
|
||||||
|
|
||||||
tubes = {}
|
tubes = {}
|
||||||
@ -214,15 +227,20 @@ def start_tuuube_stream(id):
|
|||||||
in: path
|
in: path
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: JSON with message successful start of youtube stream.
|
||||||
|
400:
|
||||||
|
description: JSON with error message.
|
||||||
"""
|
"""
|
||||||
if id not in tubes:
|
if id not in tubes:
|
||||||
tubes[id] = Tuuube(id)
|
tubes[id] = Tuuube(id)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
tubes[id].start_stream()
|
tubes[id].start_stream()
|
||||||
return "", 200
|
return jsonify("message","successfully started youtube stream"), 200
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return str(e), 400
|
return _error_message_json(e.message), 400
|
||||||
|
|
||||||
@app.route('/tuuube/<id>/end')
|
@app.route('/tuuube/<id>/end')
|
||||||
def end_tuuube_stream(id):
|
def end_tuuube_stream(id):
|
||||||
@ -234,15 +252,29 @@ def end_tuuube_stream(id):
|
|||||||
in: path
|
in: path
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: JSON with message successful termination of youtube stream.
|
||||||
|
400:
|
||||||
|
description: JSON with error message.
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
tubes[id].end_stream()
|
tubes[id].end_stream()
|
||||||
return "", 200
|
return jsonify("message","succesfully ended youtube stream"), 200
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return str(e), 400
|
return _error_message_json(e.message), 400
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"""
|
||||||
|
Helper function to return a JSON error message
|
||||||
|
parameters: error_message - the error message to return
|
||||||
|
returns: a JSON object with the error message
|
||||||
|
"""
|
||||||
|
def _error_message_json(error_message:str):
|
||||||
|
error_message = {"error_message": error_message}
|
||||||
|
return jsonify(error_message)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user