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
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)
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)
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)
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))
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))