Example #1
0
def generate_name(_value):
    group_name = ""
    if "group_id" in _value.keys():
        group_property = data_global_elements.get_interface(
            data_global_elements.API_GROUP).get(_value["group_id"])
        if group_property != None:
            group_name = group_property["name"]
    saison_number = ""
    if "saison_id" in _value.keys():
        saison_property = data_global_elements.get_interface(
            data_global_elements.API_SAISON).get(_value["saison_id"])
        if saison_property != None:
            saison_number = str(saison_property["number"])
            if len(saison_number) == 1:
                saison_number = "0" + saison_number
    out = ""
    if group_name != "":
        out += group_name + "-"
    if saison_number != "":
        out += "s" + saison_number + "-"
    if "episode" in _value.keys() and _value["episode"] != None:
        if _value["episode"] < 10:
            out += "e00" + str(_value["episode"]) + "-"
        elif _value["episode"] < 100:
            out += "e0" + str(_value["episode"]) + "-"
        else:
            out += "e" + str(_value["episode"]) + "-"
    out += _value["name"]
    if "time" in _value.keys() and _value["time"] != None:
        out += "(" + _value["name"] + ")"
    return out
Example #2
0
    async def create(request):
        for type_key in ["sha512", "type_id", "name"]:
            if type_key not in request.json.keys():
                raise ServerError("Bad Request: Missing Key '" + type_key +
                                  "'",
                                  status_code=400)
        for type_key in ["date"]:
            if type_key in request.json.keys():
                raise ServerError("Forbidden: Must not be set Key '" +
                                  type_key + "'",
                                  status_code=403)
        for type_key in [
                "saison_id", "episode", "time", "group_id", "description"
        ]:
            if type_key not in request.json.keys():
                request.json[type_key] = None
        request.json["create_date"] = datetime.datetime.utcnow().strftime(
            '%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z'
        #Find if already exist
        list_elem = data_global_elements.get_interface(_name_api).find(
            ["group_id", "sha512"], request.json)
        for elem in list_elem:
            return response.json(elem)

        return response.json(
            data_global_elements.get_interface(_name_api).post(request.json))
Example #3
0
	async def find_with_name(request):
		api = data_global_elements.get_interface(_name_api)
		for elem in api.bdd:
			if     elem["group_id"] == request.json["group_id"] \
			   and elem["number"] == request.json["number"]:
				return response.json({"id": elem["id"]})
		raise ServerError("No data found", status_code=404)
Example #4
0
 async def retrive_video(request, id):
     value = data_global_elements.get_interface(
         data_global_elements.API_VIDEO).gets_where(
             select=[["==", "group_id", id]], filter=["id"])
     if value != None:
         return response.json(value)
     raise ServerError("No data found", status_code=404)
Example #5
0
 async def retrive(request, id):
     value = data_global_elements.get_interface(_name_api).get(id)
     if value != None:
         generated_name = generate_name(value)
         tmp = copy.deepcopy(value)
         tmp["generated_name"] = generated_name
         return response.json(tmp)
     raise ServerError("No data found", status_code=404)
Example #6
0
	async def update(request, id):
		ret = data_global_elements.get_interface(_name_api).put(id)
		return response.json({})
Example #7
0
	async def retrive(request, id):
		value = data_global_elements.get_interface(_name_api).get(id)
		if value != None:
			return response.json(value)
		raise ServerError("No data found", status_code=404)
Example #8
0
	async def create(request):
		return response.json(data_global_elements.get_interface(_name_api).post(request.json))
Example #9
0
	async def list(request):
		return response.json(data_global_elements.get_interface(_name_api).gets())
Example #10
0
def add(_app, _name_api):
	elem_blueprint = Blueprint(_name_api)
	
	class DataModelBdd:
		id = int
		number = int
		group_id = int
	
	data_global_elements.get_interface(_name_api).set_data_model(DataModelBdd)
	
	class DataModel:
		number = int
		group_id = int
	
	@elem_blueprint.get('/' + _name_api, strict_slashes=True)
	@doc.summary("Show saisons")
	@doc.description("Display a listing of the resource.")
	@doc.produces(content_type='application/json')
	async def list(request):
		return response.json(data_global_elements.get_interface(_name_api).gets())
	
	@elem_blueprint.post('/' + _name_api, strict_slashes=True)
	@doc.summary("Create new saison")
	@doc.description("Create a new saison for a aspecific group id.")
	@doc.consumes(DataModel, location='body')#, required=True)
	@doc.response_success(status=201, description='If successful created')
	async def create(request):
		return response.json(data_global_elements.get_interface(_name_api).post(request.json))
	
	@elem_blueprint.post('/' + _name_api + "/find", strict_slashes=True)
	@doc.summary("find a season existance")
	@doc.description("return the ID of the season table.")
	@doc.consumes(DataModel, location='body')
	@doc.response_success(status=201, description='If successful created')
	async def find_with_name(request):
		api = data_global_elements.get_interface(_name_api)
		for elem in api.bdd:
			if     elem["group_id"] == request.json["group_id"] \
			   and elem["number"] == request.json["number"]:
				return response.json({"id": elem["id"]})
		raise ServerError("No data found", status_code=404)
	
	@elem_blueprint.get('/' + _name_api + '/<id:int>/video', strict_slashes=True)
	@doc.summary("Show videos")
	@doc.description("List all the videos availlable for this group.")
	@doc.produces(content_type='application/json')
	async def retrive_video(request, id):
		value = data_global_elements.get_interface(data_global_elements.API_VIDEO).gets_where(select=[["==", "saison_id", id]], filter=["id"])
		if value != None:
			return response.json(value)
		raise ServerError("No data found", status_code=404)
	
	@elem_blueprint.get('/' + _name_api + '/<id:int>', strict_slashes=True)
	@doc.summary("Show resources")
	@doc.description("Display a listing of the resource.")
	@doc.produces(content_type='application/json')
	async def retrive(request, id):
		value = data_global_elements.get_interface(_name_api).get(id)
		if value != None:
			return response.json(value)
		raise ServerError("No data found", status_code=404)
	
	@elem_blueprint.put('/' + _name_api + '/<id:int>', strict_slashes=True)
	@doc.summary("Update resource")
	@doc.description("Update the specified resource in storage.")
	@doc.response_success(status=201, description='If successful updated')
	async def update(request, id):
		ret = data_global_elements.get_interface(_name_api).put(id)
		return response.json({})
	
	@elem_blueprint.delete('/' + _name_api + '/<id:int>', strict_slashes=True)
	@doc.summary("Remove resource")
	@doc.description("Remove the specified resource from storage.")
	@doc.response_success(status=201, description='If successful deleted')
	async def delete(request, id):
		ret = data_global_elements.get_interface(_name_api).delete(id)
		if ret == True:
			return response.json({})
		raise ServerError("No data found", status_code=404)
	
	_app.blueprint(elem_blueprint)
Example #11
0
	async def delete(request, id):
		ret = data_global_elements.get_interface(_name_api).delete(id)
		if ret == True:
			return response.json({})
		raise ServerError("No data found", status_code=404)
Example #12
0
def add(_app, _name_api):
    elem_blueprint = Blueprint(_name_api)

    class DataModelBdd:
        id = int
        sha512 = str
        type_id = int
        saison_id = [int, type(None)]
        episode = [int, type(None)]
        group_id = [int, type(None)]
        name = str
        description = [str, type(None)]
        # creating time
        create_date = str
        # number of second
        time = [int, type(None)]

    data_global_elements.get_interface(_name_api).set_data_model(DataModelBdd)

    class DataModel:
        type_id = int
        saison_id = int
        episode = int
        group_id = int
        name = str
        description = str
        # creating time
        create_date = str
        # number of second
        time = int

    @elem_blueprint.get('/' + _name_api, strict_slashes=True)
    @doc.summary("Show saisons")
    @doc.description("Display a listing of the resource.")
    @doc.produces(content_type='application/json')
    async def list(request):
        return response.json(
            data_global_elements.get_interface(_name_api).gets())

    @elem_blueprint.post('/' + _name_api, strict_slashes=True)
    @doc.summary("Create new saison")
    @doc.description("Create a new saison for a aspecific group id.")
    @doc.consumes(DataModel, location='body')  #, required=True)
    @doc.response_success(status=201, description='If successful created')
    async def create(request):
        for type_key in ["sha512", "type_id", "name"]:
            if type_key not in request.json.keys():
                raise ServerError("Bad Request: Missing Key '" + type_key +
                                  "'",
                                  status_code=400)
        for type_key in ["date"]:
            if type_key in request.json.keys():
                raise ServerError("Forbidden: Must not be set Key '" +
                                  type_key + "'",
                                  status_code=403)
        for type_key in [
                "saison_id", "episode", "time", "group_id", "description"
        ]:
            if type_key not in request.json.keys():
                request.json[type_key] = None
        request.json["create_date"] = datetime.datetime.utcnow().strftime(
            '%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z'
        #Find if already exist
        list_elem = data_global_elements.get_interface(_name_api).find(
            ["group_id", "sha512"], request.json)
        for elem in list_elem:
            return response.json(elem)

        return response.json(
            data_global_elements.get_interface(_name_api).post(request.json))

    @elem_blueprint.get('/' + _name_api + '/<id:int>', strict_slashes=True)
    @doc.summary("Show resources")
    @doc.description("Display a listing of the resource.")
    @doc.produces(content_type='application/json')
    async def retrive(request, id):
        value = data_global_elements.get_interface(_name_api).get(id)
        if value != None:
            generated_name = generate_name(value)
            tmp = copy.deepcopy(value)
            tmp["generated_name"] = generated_name
            return response.json(tmp)
        raise ServerError("No data found", status_code=404)

    @elem_blueprint.put('/' + _name_api + '/<id:int>', strict_slashes=True)
    @doc.summary("Update resource")
    @doc.description("Update the specified resource in storage.")
    @doc.response_success(status=201, description='If successful updated')
    async def update(request, id):
        ret = data_global_elements.get_interface(_name_api).put(id)
        return response.json({})

    @elem_blueprint.delete('/' + _name_api + '/<id:int>', strict_slashes=True)
    @doc.summary("Remove resource")
    @doc.description("Remove the specified resource from storage.")
    @doc.response_success(status=201, description='If successful deleted')
    async def delete(request, id):
        ret = data_global_elements.get_interface(_name_api).delete(id)
        if ret == True:
            return response.json({})
        raise ServerError("No data found", status_code=404)

    _app.blueprint(elem_blueprint)
Example #13
0
 async def count_values(request, id):
     count_value = data_global_elements.get_interface(
         data_global_elements.API_VIDEO).count(
             select=[["==", "type_id", id]])
     return response.json({"count": count_value})
Example #14
0
def add(_app, _name_api):
    elem_blueprint = Blueprint(_name_api)

    class DataModelBdd:
        id = int
        name = str
        description = str

    data_global_elements.get_interface(_name_api).set_data_model(DataModelBdd)

    class DataModel:
        name = str
        description = str

    @elem_blueprint.get('/' + _name_api, strict_slashes=True)
    @doc.summary("Show resources")
    @doc.description("Display a listing of the resource.")
    @doc.produces(content_type='application/json')
    async def list(request):
        return response.json(
            data_global_elements.get_interface(_name_api).gets())

    @elem_blueprint.post('/' + _name_api, strict_slashes=True)
    @doc.summary("Create new resource")
    @doc.description("Store a newly created resource in storage.")
    @doc.consumes(DataModel, location='body')  #, required=True)
    @doc.response_success(status=201, description='If successful created')
    async def create(request):
        return response.json(
            data_global_elements.get_interface(_name_api).post(request.json))

    @elem_blueprint.get('/' + _name_api + '/<id:int>', strict_slashes=True)
    @doc.summary("Show resources")
    @doc.description("Display a listing of the resource.")
    @doc.produces(content_type='application/json')
    async def retrive(request, id):
        value = data_global_elements.get_interface(_name_api).get(id)
        if value != None:
            return response.json(value)
        raise ServerError("No data found", status_code=404)

    @elem_blueprint.put('/' + _name_api + '/<id:int>', strict_slashes=True)
    @doc.summary("Update resource")
    @doc.description("Update the specified resource in storage.")
    @doc.response_success(status=201, description='If successful updated')
    async def update(request, id):
        ret = data_global_elements.get_interface(_name_api).put(id)
        return response.json({})

    @elem_blueprint.delete('/' + _name_api + '/<id:int>', strict_slashes=True)
    @doc.summary("Remove resource")
    @doc.description("Remove the specified resource from storage.")
    @doc.response_success(status=201, description='If successful deleted')
    async def delete(request, id):
        ret = data_global_elements.get_interface(_name_api).delete(id)
        if ret == True:
            return response.json({})
        raise ServerError("No data found", status_code=404)

    @elem_blueprint.get('/' + _name_api + '/<id:int>/count',
                        strict_slashes=True)
    @doc.summary("Count resources in this cathegory")
    @doc.description("count resources in this cathegory, in the whole tree.")
    @doc.produces(content_type='application/json')
    async def count_values(request, id):
        count_value = data_global_elements.get_interface(
            data_global_elements.API_VIDEO).count(
                select=[["==", "type_id", id]])
        return response.json({"count": count_value})

    @elem_blueprint.get('/' + _name_api + '/<id:int>/video',
                        strict_slashes=True)
    @doc.summary("List the whole video ids")
    @doc.description("List all video availlable with this type (list of ids).")
    @doc.produces(content_type='application/json')
    async def retrive_video(request, id):
        list_values = data_global_elements.get_interface(
            data_global_elements.API_VIDEO).gets_where(
                select=[["==", "type_id", id]], filter=["id"])
        return response.json(list_values)

    @elem_blueprint.get('/' + _name_api + '/<id:int>/video_no_group',
                        strict_slashes=True)
    @doc.summary("List the whole video ids")
    @doc.description("List all video availlable with this type (list of ids).")
    @doc.produces(content_type='application/json')
    async def retrive_video_no_group(request, id):
        list_values = data_global_elements.get_interface(
            data_global_elements.API_VIDEO).gets_where(
                select=[["==", "type_id", id], ["==", "group_id", None]],
                filter=["id"])
        return response.json(list_values)

    @elem_blueprint.get('/' + _name_api + '/<id:int>/group',
                        strict_slashes=True)
    @doc.summary("List the whole video ids")
    @doc.description("List all video availlable with this type (list of ids).")
    @doc.produces(content_type='application/json')
    async def retrive_group(request, id):
        list_values = data_global_elements.get_interface(
            data_global_elements.API_VIDEO).gets_where(
                select=[["==", "type_id", id], ["!=", "group_id", None]],
                filter=["group_id"])
        return response.json(list_values)

    _app.blueprint(elem_blueprint)
Example #15
0
 async def retrive_group(request, id):
     list_values = data_global_elements.get_interface(
         data_global_elements.API_VIDEO).gets_where(
             select=[["==", "type_id", id], ["!=", "group_id", None]],
             filter=["group_id"])
     return response.json(list_values)