Exemple #1
0
def slicingPatchSlicerProfile(slicer, name):
	if not slicer in slicingManager.registered_slicers:
		return make_response("Unknown slicer {slicer}".format(**locals()), 404)

	if not "application/json" in request.headers["Content-Type"]:
		return None, None, make_response("Expected content-type JSON", 400)

	profile = slicingManager.load_profile(slicer, name)
	if not profile:
		return make_response("Profile not found", 404)

	json_data = request.json

	data = dict()
	display_name = None
	description = None
	if "data" in json_data:
		data = json_data["data"]
	if "displayName" in json_data:
		display_name = json_data["displayName"]
	if "description" in json_data:
		description = json_data["description"]

	from octoprint.server.api import valid_boolean_trues
	if "default" in json_data and json_data["default"] in valid_boolean_trues:
		default_profiles = s().get(["slicing", "defaultProfiles"])
		if not default_profiles:
			default_profiles = dict()
		default_profiles[slicer] = name
		s().set(["slicing", "defaultProfiles"], default_profiles)
		s().save(force=True)

	slicingManager.save_profile(slicer, name, profile, overrides=data, display_name=display_name, description=description)
	return NO_CONTENT
Exemple #2
0
def slicingGetSlicerProfile(slicer, name):
	if not slicer in slicingManager.registered_slicers:
		return make_response("Unknown slicer {slicer}".format(**locals()), 404)

	profile = slicingManager.load_profile(slicer, name)
	if not profile:
		return make_response("Profile not found", 404)

	result = _getSlicingProfileData(slicer, name, profile)
	result["data"] = profile.data
	return jsonify(result)
def slicingGetSlicerProfile(slicer, name):
    try:
        profile = slicingManager.load_profile(slicer, name)
    except UnknownSlicer:
        return make_response("Unknown slicer {slicer}".format(**locals()), 404)
    except UnknownProfile:
        return make_response("Profile not found", 404)

    result = _getSlicingProfileData(slicer, name, profile)
    result["data"] = profile.data
    return jsonify(result)
Exemple #4
0
def slicingGetSlicerProfile(slicer, name):
	try:
		profile = slicingManager.load_profile(slicer, name, require_configured=False)
	except UnknownSlicer:
		return make_response("Unknown slicer {slicer}".format(**locals()), 404)
	except UnknownProfile:
		return make_response("Profile not found", 404)

	result = _getSlicingProfileData(slicer, name, profile)
	result["data"] = profile.data
	return jsonify(result)
Exemple #5
0
def slicingGetSlicerProfile(slicer, name):
    if not slicer in slicingManager.registered_slicers:
        return make_response("Unknown slicer {slicer}".format(**locals()), 404)

    profile = slicingManager.load_profile(slicer, name)
    if not profile:
        return make_response("Profile not found", 404)

    result = _getSlicingProfileData(slicer, name, profile)
    result["data"] = profile.data
    return jsonify(result)
Exemple #6
0
def slicingGetSlicerProfile(slicer, name):
    try:
        profile = slicingManager.load_profile(slicer,
                                              name,
                                              require_configured=False)
    except UnknownSlicer:
        abort(404)
    except UnknownProfile:
        abort(404)

    result = _getSlicingProfileData(slicer, name, profile)
    result["data"] = profile.data
    return jsonify(result)
Exemple #7
0
def slicingPatchSlicerProfile(slicer, name):
    if "application/json" not in request.headers["Content-Type"]:
        return make_response("Expected content-type JSON", 400)

    try:
        profile = slicingManager.load_profile(slicer,
                                              name,
                                              require_configured=False)
    except UnknownSlicer:
        return make_response("Unknown slicer {slicer}".format(**locals()), 404)
    except UnknownProfile:
        return make_response(
            "Profile {name} for slicer {slicer} not found".format(**locals()),
            404)

    try:
        json_data = request.get_json()
    except BadRequest:
        return make_response("Malformed JSON body in request", 400)

    if json_data is None:
        return make_response("Malformed JSON body in request", 400)

    data = {}
    display_name = None
    description = None
    if "data" in json_data:
        data = json_data["data"]
    if "displayName" in json_data:
        display_name = json_data["displayName"]
    if "description" in json_data:
        description = json_data["description"]

    saved_profile = slicingManager.save_profile(
        slicer,
        name,
        profile,
        allow_overwrite=True,
        overrides=data,
        display_name=display_name,
        description=description,
    )

    from octoprint.server.api import valid_boolean_trues

    if "default" in json_data and json_data["default"] in valid_boolean_trues:
        slicingManager.set_default_profile(slicer, name, require_exists=False)

    return jsonify(_getSlicingProfileData(slicer, name, saved_profile))
def slicingPatchSlicerProfile(slicer, name):
    if not "application/json" in request.headers["Content-Type"]:
        return make_response("Expected content-type JSON", 400)

    try:
        profile = slicingManager.load_profile(slicer, name)
    except UnknownSlicer:
        return make_response("Unknown slicer {slicer}".format(**locals()), 404)
    except UnknownProfile:
        return make_response(
            "Profile {name} for slicer {slicer} not found".format(**locals()),
            404)

    try:
        json_data = request.json
    except JSONBadRequest:
        return make_response("Malformed JSON body in request", 400)

    data = dict()
    display_name = None
    description = None
    if "data" in json_data:
        data = json_data["data"]
    if "displayName" in json_data:
        display_name = json_data["displayName"]
    if "description" in json_data:
        description = json_data["description"]

    from octoprint.server.api import valid_boolean_trues
    if "default" in json_data and json_data["default"] in valid_boolean_trues:
        default_profiles = s().get(["slicing", "defaultProfiles"])
        if not default_profiles:
            default_profiles = dict()
        default_profiles[slicer] = name
        s().set(["slicing", "defaultProfiles"], default_profiles)
        s().save(force=True)

    saved_profile = slicingManager.save_profile(slicer,
                                                name,
                                                profile,
                                                allow_overwrite=True,
                                                overrides=data,
                                                display_name=display_name,
                                                description=description)
    return jsonify(_getSlicingProfileData(slicer, name, saved_profile))
Exemple #9
0
def slicingPatchSlicerProfile(slicer, name):
    if not slicer in slicingManager.registered_slicers:
        return make_response("Unknown slicer {slicer}".format(**locals()), 404)

    if not "application/json" in request.headers["Content-Type"]:
        return None, None, make_response("Expected content-type JSON", 400)

    profile = slicingManager.load_profile(slicer, name)
    if not profile:
        return make_response("Profile not found", 404)

    json_data = request.json

    data = dict()
    display_name = None
    description = None
    if "data" in json_data:
        data = json_data["data"]
    if "displayName" in json_data:
        display_name = json_data["displayName"]
    if "description" in json_data:
        description = json_data["description"]

    from octoprint.server.api import valid_boolean_trues
    if "default" in json_data and json_data["default"] in valid_boolean_trues:
        default_profiles = s().get(["slicing", "defaultProfiles"])
        if not default_profiles:
            default_profiles = dict()
        default_profiles[slicer] = name
        s().set(["slicing", "defaultProfiles"], default_profiles)
        s().save(force=True)

    slicingManager.save_profile(slicer,
                                name,
                                profile,
                                overrides=data,
                                display_name=display_name,
                                description=description)
    return NO_CONTENT
Exemple #10
0
def slicingPatchSlicerProfile(slicer, name):
	if not "application/json" in request.headers["Content-Type"]:
		return make_response("Expected content-type JSON", 400)

	try:
		profile = slicingManager.load_profile(slicer, name, require_configured=False)
	except UnknownSlicer:
		return make_response("Unknown slicer {slicer}".format(**locals()), 404)
	except UnknownProfile:
		return make_response("Profile {name} for slicer {slicer} not found".format(**locals()), 404)

	try:
		json_data = request.json
	except BadRequest:
		return make_response("Malformed JSON body in request", 400)

	data = dict()
	display_name = None
	description = None
	if "data" in json_data:
		data = json_data["data"]
	if "displayName" in json_data:
		display_name = json_data["displayName"]
	if "description" in json_data:
		description = json_data["description"]

	from octoprint.server.api import valid_boolean_trues
	if "default" in json_data and json_data["default"] in valid_boolean_trues:
		default_profiles = s().get(["slicing", "defaultProfiles"])
		if not default_profiles:
			default_profiles = dict()
		default_profiles[slicer] = name
		s().set(["slicing", "defaultProfiles"], default_profiles)
		s().save(force=True)

	saved_profile = slicingManager.save_profile(slicer, name, profile,
	                                            allow_overwrite=True, overrides=data, display_name=display_name, description=description)
	return jsonify(_getSlicingProfileData(slicer, name, saved_profile))