try better
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Torma Kristóf 2020-12-06 03:49:30 +01:00
parent 0ee6390c81
commit 24d5200bdf
1 changed files with 73 additions and 81 deletions

View File

@ -48,16 +48,17 @@ class SignupApi(Resource):
abort(417, INVALID_JSON_SCHEMA_MSG)
user = VideonUser(name=userobj['name'], password=userobj['password'])
try:
user.hash_password()
db.session.add(user)
except Exception as e:
current_app.logger.warning(e)
abort(409, "user already exists")
user.hash_password()
db.session.add(user)
expires = datetime.timedelta(days=7)
access_token = create_access_token(identity=str(user.name), expires_delta=expires)
db.session.commit()
try:
db.session.commit()
except Exception as e:
current_app.logger.warning(e)
abort(409, "user already exists")
return {'token': access_token}, 200
@ -86,12 +87,7 @@ class LoginApi(Resource):
current_app.logger.info(e)
abort(401, "unauthorized")
try:
user.last_logon = datetime.datetime.now()
db.session.add(user)
except Exception as e:
current_app.logger.exception(e)
abort(503, DB_ERROR_MSG)
user.last_logon = datetime.datetime.now()
expires = datetime.timedelta(days=7)
access_token = create_access_token(identity=str(user.name), expires_delta=expires)
@ -106,6 +102,7 @@ class MeApi(Resource):
usermetadataschema = UserMetadataSchema(many=False)
@jwt_required
def get(self):
username = get_jwt_identity()
# username = "jozska"
@ -148,13 +145,13 @@ class UserParameterApi(Resource):
"""
user = VideonUser.query.filter_by(name=username).first_or_404()
try:
db.session.delete(user)
except Exception as e:
current_app.logger.exception(e)
abort(503, DB_ERROR_MSG)
db.session.delete(user)
db.session.commit()
try:
db.session.commit()
except Exception as e:
current_app.logger.warning(e)
abort(410, DB_ERROR_MSG)
return self.usermetadataschema.dump(user), 200
@jwt_required
@ -176,14 +173,14 @@ class UserParameterApi(Resource):
current_app.logger.warning(e)
abort(417, INVALID_JSON_SCHEMA_MSG)
user.password = userobj['password']
user.hash_password()
try:
user.password = userobj['password']
user.hash_password()
db.session.commit()
except Exception as e:
current_app.logger.exception(e)
abort(503, DB_ERROR_MSG)
db.session.commit()
abort(412, DB_ERROR_MSG)
return self.usermetadataschema.dump(user), 200
@ -219,6 +216,7 @@ class CreateIngestResource(Resource):
ingest.stream_key = str(uuid4())
try:
db.session.add(ingest)
db.session.commit()
Kubectl(name=ingest.id, resourcetype="ingest", stream_key=ingest.stream_key).create_resource()
except Exception as e:
current_app.logger.warning(e)
@ -229,13 +227,13 @@ class CreateIngestResource(Resource):
neighbourobj = StreamResource.query.filter_by(id=neighbour).first_or_404()
if neighbourobj.resource_type == StreamResourceTypeEnum.INGEST:
abort(400, "ingest cannot be a downstream component")
try:
neighbourobj.parent_id = ingest.id
except Exception as e:
current_app.logger.warning(e)
abort(503, "could not set neighbourhood")
neighbourobj.parent_id = ingest.id
db.session.commit()
try:
db.session.commit()
except Exception as e:
current_app.logger.exception(e)
abort(412, DB_ERROR_MSG)
return self.streamresourceschema.dump(ingest), 200
@ -273,20 +271,21 @@ 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")
abort(409, "object already exists")
for url in restreamobj['outputURLs']:
try:
outputurl = OutputUrls(output_url=url, streamresource_id=restream.id)
db.session.add(outputurl)
except Exception as e:
current_app.logger.warning(e)
abort(503, "could not add all outputurls")
outputurl = OutputUrls(output_url=url, streamresource_id=restream.id)
db.session.add(outputurl)
db.session.commit()
try:
db.session.commit()
except Exception as e:
current_app.logger.exception(e)
abort(412, DB_ERROR_MSG)
return self.streamresourceschema.dump(restream), 200
@ -334,23 +333,24 @@ class CreateEncodeResource(Resource):
try:
db.session.add(encoder)
db.session.commit()
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")
abort(409, "object already exists")
for neighbour in encoderobj['outputNeighbours']:
neighbour = StreamResource.query.filter_by(id=neighbour).first_or_404()
if neighbour.resource_type == StreamResourceTypeEnum.INGEST:
abort(400, "ingest cannot be a downstream component")
try:
neighbour.parent_id = encoder.id
except Exception as e:
current_app.logger.warning(e)
abort(503, "could not add all neighbours")
neighbour.parent_id = encoder.id
db.session.commit()
try:
db.session.commit()
except Exception as e:
current_app.logger.exception(e)
abort(412, DB_ERROR_MSG)
return self.streamresourceschema.dump(encoder), 200
@ -423,12 +423,12 @@ class ManipulateStreamResource(Resource):
abort(422, "invalid arguments")
try:
db.session.delete(streamreousrce)
db.session.commit()
Kubectl(name=streamreousrce.id, resourcetype=streamreousrce.resource_type).delete_resource()
except Exception as e:
current_app.logger.exception(e)
abort(503, DB_ERROR_MSG)
abort(410, DB_ERROR_MSG)
db.session.commit()
return self.streamresourceschema.dump(streamreousrce), 200
@ -471,33 +471,25 @@ class ModifyIngressResource(Resource):
for removeneighbours in listdiffer.elementsinfirstlistbutnotinsecond(currentoutputneighboursids,
ingestobj['outputNeighbours']):
neighbourobj = StreamResource.query.filter_by(id=removeneighbours).first_or_404()
try:
neighbourobj.parent_id = None
except Exception as e:
current_app.logger.warning(e)
abort(503, "could not remove neighbourhood")
neighbourobj.parent_id = None
for addneighbours in listdiffer.elementsinsecondlistbutnotinfirst(currentoutputneighboursids,
ingestobj['outputNeighbours']):
neighbourobj = StreamResource.query.filter_by(id=addneighbours).first_or_404()
if neighbourobj.resource_type == StreamResourceTypeEnum.INGEST:
abort(400, "ingest cannot be a downstream component")
try:
neighbourobj.parent_id = ingest.id
except Exception as e:
current_app.logger.warning(e)
abort(503, "could not remove neighbourhood")
neighbourobj.parent_id = ingest.id
else:
Kubectl(name=ingest.id, resourcetype="ingest", stream_key=ingest.stream_key).update_resource()
if currentoutputneighbours:
for currentneighbour in currentoutputneighbours:
try:
currentneighbour.parent_id = None
except Exception as e:
current_app.logger.warning(e)
abort(503, "could not remove neighbourhood")
currentneighbour.parent_id = None
db.session.commit()
try:
db.session.commit()
except Exception as e:
current_app.logger.exception(e)
abort(412, DB_ERROR_MSG)
return self.streamresourceschema.dump(ingest), 200
@ -547,25 +539,21 @@ class ModifyRestreamResource(Resource):
restreamobj['outputURLs']):
elementtodelete = OutputUrls.query.filter_by(output_url=deleteoutputurl,
streamresource_id=restream.id).first_or_404()
try:
db.session.delete(elementtodelete)
except Exception as e:
current_app.logger.warning(e)
abort(503, "could not delete url")
db.session.delete(elementtodelete)
for addoutputurl in listdiffer.elementsinsecondlistbutnotinfirst(currentoutputurlurls,
restreamobj['outputURLs']):
elementtoadd = OutputUrls(output_url=addoutputurl, streamresource_id=restream.id)
try:
db.session.add(elementtoadd)
except Exception as e:
current_app.logger.warning(e)
abort(503, "object already exists")
db.session.add(elementtoadd)
if currentoutputurlurls != restreamobj['outputURLs']:
Kubectl(name=restream.id, resourcetype="restream", stream_key=restream.stream_key,
push_urls=restreamobj['outputURLs']).update_resource()
db.session.commit()
try:
db.session.commit()
except Exception as e:
current_app.logger.exception(e)
abort(412, DB_ERROR_MSG)
return self.streamresourceschema.dump(restream), 200
@ -633,11 +621,7 @@ class ModifyEncodeResource(Resource):
else:
if currentoutputneighbours:
for currentneighbour in currentoutputneighbours:
try:
currentneighbour.parent_id = None
except Exception as e:
current_app.logger.warning(e)
abort(503, "could not remove neighbourhood")
currentneighbour.parent_id = None
childurls = []
for child in encode.children:
@ -646,7 +630,11 @@ class ModifyEncodeResource(Resource):
Kubectl(name=encode.id, resourcetype="encoder",
stream_key=encode.stream_key, encode_push_urls=str(childurls)).update_resource()
db.session.commit()
try:
db.session.commit()
except Exception as e:
current_app.logger.exception(e)
abort(412, DB_ERROR_MSG)
return self.streamresourceschema.dump(encode), 200
@ -682,5 +670,9 @@ class CoordModifyResource(Resource):
resource.x = coordobj['x']
resource.y = coordobj['y']
db.session.commit()
try:
db.session.commit()
except Exception as e:
current_app.logger.exception(e)
abort(412, DB_ERROR_MSG)
return self.streamresourceschema.dump(resource), 200