Compare commits

..

2 Commits

Author SHA1 Message Date
c72cb2b4e2 add censored routes 2023-06-27 18:46:41 +09:30
john.sitarski
4bde801d6a add todos and initial route changes 2023-06-15 16:37:08 +09:30
2 changed files with 38 additions and 24 deletions

View File

@ -1,5 +1,6 @@
#! /usr/bin/env python3
import routes
import os
import sys
import requests
@ -18,7 +19,7 @@ swag = Swagger(app)
radios = {}
@app.route("/report")
@app.route(routes.endpoint_routes["b"])
def report():
"""Get streams report from the RTSP relay.
---
@ -40,7 +41,7 @@ def report():
return _error_message_json(e.message), 500
@app.route("/radio/report")
@app.route(routes.endpoint_routes["a"])
def radio_report():
"""List radio devices available to the system.
---
@ -53,7 +54,6 @@ def radio_report():
return jsonify(devices)
@app.route("/radio/<radio>/connect")
def connect(radio):
"""Connect to a radio device, by driver name or serial number.
---
@ -87,7 +87,7 @@ def connect(radio):
return "Radio device not found", 400
@app.route("/radio/<radio>/disconnect")
@app.route(routes.endpoint_routes["f"])
def disconnect(radio):
"""Disconnect from a radio device.
---
@ -112,8 +112,9 @@ def disconnect(radio):
return _error_message_json("Radio not connected"), 400
@app.route("/radio/<radio>/configure/<frequency>")
def configure(radio, frequency):
# TODO: add post parameters...
@app.route(routes.endpoint_routes["c"])
def configure():
"""Tune the radio to a frequency.
You must connect to the radio before attempting to configure it.
The radio must be configured before streaming can be started.
@ -141,7 +142,7 @@ def configure(radio, frequency):
return _error_message_json("Radio not connected"), 400
@app.route("/radio/<radio>/start")
@app.route(routes.endpoint_routes["d"])
def start_stream(radio):
"""Start the radio stream.
Once the stream has been started, connect to the stream at:
@ -159,6 +160,9 @@ def start_stream(radio):
400:
description: JSON with error message.
"""
if id is not None:
_start_tuuube_stream(id)
else:
try:
radios[radio].start_stream()
return jsonify("message", "successfully started radio stream"), 200
@ -166,7 +170,7 @@ def start_stream(radio):
return _error_message_json(e.message), 400
@app.route("/radio/<radio>/end")
@app.route(routes.endpoint_routes["e"])
def end_stream(radio):
"""Terminate the radio stream.
---
@ -182,15 +186,17 @@ def end_stream(radio):
400:
description: JSON with error message.
"""
if id is not None:
_end_tuuube_stream(id)
else:
try:
radios[radio].end_stream()
return jsonify("message", "successfully ended radio stream"), 200
except Exception as e:
error_message = {"error_message": e.message}
return _error_message_json(e.message), 400
@app.route("/radio/<radio>/info")
@app.route(routes.endpoint_routes["g"])
def radio_info(radio):
"""Get information about a radio.
---
@ -215,8 +221,7 @@ def radio_info(radio):
tubes = {}
@app.route("/tuuube/<id>/start")
def start_tuuube_stream(id):
def _start_tuuube_stream(id):
"""Start streaming from a youtube source.
Once the stream has been started, connect to the stream at:
rtsp://[host]:8554/tuuube/[id]
@ -249,8 +254,7 @@ def start_tuuube_stream(id):
return _error_message_json(e.message), 400
@app.route("/tuuube/<id>/end")
def end_tuuube_stream(id):
def _end_tuuube_stream(id):
"""Terminate the youtube stream.
---
parameters:

10
routes.py Normal file
View File

@ -0,0 +1,10 @@
endpoint_routes = {
"a": "",
"b": "",
"c": "",
"d": "",
"e": "",
"f":"",
"g":""
}