This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
from uuid import UUID,uuid4
|
||||
from uuid import UUID, uuid4
|
||||
import datetime
|
||||
|
||||
from flask_jwt_extended import create_access_token, jwt_required, get_jwt_identity
|
||||
@@ -12,6 +12,7 @@ from schemas import UserSchema, UserMetadataSchema, StreamResourceSchema, Ingest
|
||||
RestreamInputSchema
|
||||
from config import REGISTER_DISABLED
|
||||
import listdiffer
|
||||
from kuberclient import Kubectl
|
||||
|
||||
"""
|
||||
Flask Restful endpoints
|
||||
@@ -186,6 +187,7 @@ class CreateIngestResource(Resource):
|
||||
ingest.stream_key = str(uuid4())
|
||||
try:
|
||||
db.session.add(ingest)
|
||||
Kubectl(name=ingest.id, resourcetype="ingest", stream_key=ingest.stream_key).create_resource()
|
||||
except Exception as e:
|
||||
current_app.logger.warning(e)
|
||||
abort(503, "object already exists")
|
||||
@@ -234,7 +236,8 @@ class CreateRestreamResource(Resource):
|
||||
restream.parent_id = restreamobj['inputNeighbour']
|
||||
try:
|
||||
db.session.add(restream)
|
||||
db.session.commit()
|
||||
Kubectl(name=restream.id, resourcetype="restream",
|
||||
stream_key=restream.stream_key, push_urls=restreamobj['outputURLs']).create_resource()
|
||||
except Exception as e:
|
||||
current_app.logger.warning(e)
|
||||
abort(503, "object already exists")
|
||||
@@ -289,6 +292,8 @@ class CreateEncodeResource(Resource):
|
||||
|
||||
try:
|
||||
db.session.add(encoder)
|
||||
Kubectl(name=encoder.id, resourcetype="encoder",
|
||||
stream_key=encoder.stream_key).create_resource()
|
||||
except Exception as e:
|
||||
current_app.logger.warning(e)
|
||||
abort(503, "object already exists")
|
||||
@@ -341,6 +346,7 @@ class ManipulateStreamResource(Resource):
|
||||
|
||||
try:
|
||||
db.session.delete(streamreousrce)
|
||||
Kubectl(name=streamreousrce.id, resourcetype=streamreousrce.resource_type).delete_resource()
|
||||
except Exception as e:
|
||||
current_app.logger.exception(e)
|
||||
abort(503, DB_ERROR_MSG)
|
||||
@@ -393,6 +399,7 @@ class ModifyIngressResource(Resource):
|
||||
current_app.logger.warning(e)
|
||||
abort(503, "could not remove neighbourhood")
|
||||
else:
|
||||
Kubectl(name=ingest.id, resourcetype="ingest", stream_key=ingest.stream_key).update_resource()
|
||||
if currentoutputneighbours:
|
||||
for currentneighbour in currentoutputneighbours:
|
||||
try:
|
||||
@@ -453,6 +460,10 @@ class ModifyRestreamResource(Resource):
|
||||
current_app.logger.warning(e)
|
||||
abort(503, "object already exists")
|
||||
|
||||
if currentoutputurlurls != restreamobj['outputURLs']:
|
||||
Kubectl(name=restream.id, resourcetype="restream", stream_key=restream.stream_key,
|
||||
push_urls=restreamobj['outputURLs']).update_resource()
|
||||
|
||||
db.session.commit()
|
||||
return self.streamresourceschema.dump(restream), 200
|
||||
|
||||
|
||||
Reference in New Issue
Block a user