MCPcopy Create free account
hub / github.com/AstroPrint/AstroBox / cameraSettings

Function cameraSettings

src/astroprint/api/settings.py:227–280  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

225@api.route("/settings/camera", methods=["GET", "POST"])
226@restricted_access
227def cameraSettings():
228 s = settings()
229 cm = cameraManager()
230
231 if request.method == 'POST':
232 if "application/json" in request.headers["Content-Type"]:
233 data = request.json
234
235 if "source" in data:
236 s.set(['camera', 'source'], data['source'])
237
238 if "size" in data:
239 s.set(['camera', 'size'], data['size'])
240
241 if "encoding" in data:
242 s.set(['camera', 'encoding'], data['encoding'])
243
244 if "format" in data:
245 s.set(['camera', 'format'], data['format'])
246
247 if "framerate" in data:
248 s.set(['camera', 'framerate'], data['framerate'])
249
250 if "video_rotation" in data:
251 s.set(['camera', 'video-rotation'], int(data['video_rotation']))
252
253 if "idle_timeout" in data:
254 s.setFloat(['camera', 'inactivitySecs'], data['idle_timeout'])
255
256 if "time_lapse" in data:
257 s.set(['camera', 'freq'], data['time_lapse'])
258
259 s.save()
260
261 cm.settingsChanged({
262 'size': s.get(['camera', 'size']),
263 'encoding': s.get(['camera', 'encoding']),
264 'framerate': s.get(['camera', 'framerate']),
265 'source': s.get(['camera', 'source']),
266 'format': s.get(['camera', 'format']),
267 'video_rotation': s.get(['camera', 'video-rotation'])
268 })
269
270 return jsonify(
271 encoding= s.get(['camera', 'encoding']),
272 size= s.get(['camera', 'size']),
273 framerate= s.get(['camera', 'framerate']),
274 format= s.get(['camera', 'format']),
275 source= s.get(['camera', 'source']),
276 video_rotation= s.getInt(['camera', 'video-rotation']),
277 structure= cm.settingsStructure(),
278 time_lapse = s.get(['camera', 'freq']),
279 idle_timeout = s.get(['camera', 'inactivitySecs'])
280 )
281
282@api.route("/settings/software/pin", methods=["GET", "POST"])
283@restricted_access

Callers

nothing calls this directly

Calls 9

settingsFunction · 0.90
cameraManagerFunction · 0.90
setFloatMethod · 0.80
getIntMethod · 0.80
setMethod · 0.45
saveMethod · 0.45
settingsChangedMethod · 0.45
getMethod · 0.45
settingsStructureMethod · 0.45

Tested by

no test coverage detected