def get_status(): camera = current_app.get_camera() message = {"camera": camera.has_camera} if (message["camera"] == False): message["error"] = RemoteDslrApiError.translate( camera.get_last_error()) return current_app.success_response(message)
def wrapper(*args, **kwargs): config = Settings().get_config enabled = config["security"]["protected"] in ['True', 'true'] username = config["security"]["username"] password = config["security"]["password"] auth = request.authorization if enabled is True and not (username == auth.username and password == auth.password): raise RemoteDslrApiError("invalid login", 401) return f(*args, **kwargs)
def get_config_value(self, key): if not self.__has_camera: raise self.__last_error print("is bussy %r" % self.__is_busy) if type(key) is list: settings = {} for k in key: settings[k] = self.__get_widget_value_by_key(str(k)) return settings elif type(key) is unicode or type(key) is str: return self.__get_widget_value_by_key(str(key)) else: raise RemoteDslrApiError("invalid key type", 400)
def manual_focus(self, step): if not self.__has_camera: raise self.__last_error self.__check_busy() self.__is_busy = True if not self.__preview_running: raise Exception("manual focus works only in live view mode") else: sleep(0.1) try: self.__set_widget_value("manualfocusdrive", float(step), False) except gp.GPhoto2Error as ex: if ex.code == -113: raise RemoteDslrApiError('Zoom reached max/min value', 405) else: raise ex except Exception as ex: raise ex finally: self.__is_busy = False
def __validate_value(data): if (('value' in data) == False): raise RemoteDslrApiError("missing parameter", 400) return data["value"]
def __check_busy(self): if self.__is_busy: raise RemoteDslrApiError("Camera is busy", 503)