示例#1
0
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)
示例#2
0
        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)
示例#3
0
 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)
示例#4
0
 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
示例#5
0
def __validate_value(data):
    if (('value' in data) == False):
        raise RemoteDslrApiError("missing parameter", 400)

    return data["value"]
示例#6
0
 def __check_busy(self):
     if self.__is_busy:
         raise RemoteDslrApiError("Camera is busy", 503)