You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
887 B
Python
26 lines
887 B
Python
from flask import request, jsonify
|
|
from flask_restful import Resource
|
|
|
|
class Camera(Resource):
|
|
cameras = []
|
|
|
|
def post(self):
|
|
data = request.json
|
|
rtsp_url = data.get('rtsp_url')
|
|
if len(self.cameras) < 24:
|
|
self.cameras.append({'id': len(self.cameras), 'rtsp_url': rtsp_url})
|
|
return jsonify({"message": "Camera added", "camera_id": len(self.cameras) - 1}), 200
|
|
else:
|
|
return jsonify({"message": "Maximum number of cameras reached"}), 400
|
|
|
|
def delete(self):
|
|
data = request.json
|
|
camera_id = data.get('camera_id')
|
|
if 0 <= camera_id < len(self.cameras):
|
|
self.cameras.pop(camera_id)
|
|
return jsonify({"message": "Camera removed"}), 200
|
|
return jsonify({"message": "Camera ID not found"}), 404
|
|
|
|
def get(self):
|
|
return jsonify({"cameras": self.cameras})
|