Esempio n. 1
0
def main():
    logging.basicConfig(format='%(levelname)s: %(name)s: %(message)s',
                        level=logging.WARNING)
    gp.check_result(gp.use_python_logging())
    context = gp.gp_context_new()
    if hasattr(gp, 'gp_camera_autodetect'):
        # gphoto2 version 2.5+
        cameras = gp.check_result(gp.gp_camera_autodetect(context))
    else:
        port_info_list = gp.check_result(gp.gp_port_info_list_new())
        gp.check_result(gp.gp_port_info_list_load(port_info_list))
        abilities_list = gp.check_result(gp.gp_abilities_list_new())
        gp.check_result(gp.gp_abilities_list_load(abilities_list, context))
        cameras = gp.check_result(
            gp.gp_abilities_list_detect(abilities_list, port_info_list,
                                        context))
    n = 0
    for name, value in cameras:
        print('camera number', n)
        print('===============')
        print(name)
        print(value)
        print()
        n += 1
    return 0
Esempio n. 2
0
    def find_camera(self):
        context = gp.gp_context_new()
        port_info_list = gp.check_result(gp.gp_port_info_list_new())
        gp.check_result(gp.gp_port_info_list_load(port_info_list))
        abilities_list = gp.check_result(gp.gp_abilities_list_new())
        gp.check_result(gp.gp_abilities_list_load(abilities_list, context))
        self._cameras = gp.check_result(
            gp.gp_abilities_list_detect(abilities_list, port_info_list,
                                        context))
        found_device = False
        for name, value in self._cameras:
            logger.debug("%s, %s" % (name, value))
            found_device = True

        return found_device
Esempio n. 3
0
def get_all_cameras():
    # Ugh, C libraries >.<
    # Get all available ports
    portinfolist = gp.check_result(gp.gp_port_info_list_new())
    gp.check_result(gp.gp_port_info_list_load(portinfolist))
    # Get all available cameras and a string of their port
    context = gp.gp_context_new()
    camlist = gp.check_result(gp.gp_camera_autodetect(context))
    cameralist = []
    for i in range(camlist.count()):
        camname = camlist.get_name(i)
        camport = camlist.get_value(i)
        # Find port info for this camera
        portindex = portinfolist.lookup_path(camport)
        portinfo = portinfolist.get_info(portindex)
        # Create camera object and associate with given port
        cam = gp.check_result(gp.gp_camera_new())
        gp.check_result(gp.gp_camera_set_port_info(cam, portinfo))
        myCamera = Camera("{} ({})".format(camname, camport), cam, context)
        cameralist.append(myCamera)
    return cameralist
def main():
    logging.basicConfig(
        format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING)
    gp.check_result(gp.use_python_logging())
    
    context = gp.gp_context_new()
    camera_list = gp.check_result(gp.gp_camera_autodetect(context))
#    gp.check_result(gp.gp_camera_init(camera, context))
    
#    camera_list = GetCameraList(context)


    # loop through camera list
    for index, (name, addr) in enumerate(camera_list):
        print('Processing camera {:d}:  {:s}  {:s}'.format(index, addr, name))

    # search ports for camera port name and match to this iteration
        port_info_list = gp.check_result(gp.gp_port_info_list_new())
        gp.check_result(gp.gp_port_info_list_load(port_info_list))
        idx = gp.check_result(gp.gp_port_info_list_lookup_path(port_info_list, addr))

    # open this camera and associated context
        camera = gp.check_result(gp.gp_camera_new())
        gp.check_result(gp.gp_camera_set_port_info(camera,port_info_list[idx]))
        gp.check_result(gp.gp_camera_init(camera,context))

    # get camera configuration
        config = gp.check_result(gp.gp_camera_get_config(camera,context))

    # grab current value of imageformat and change to JPG
        image_format_old = get_config_value(config,'imageformat')
        set_config_value(camera,config,context,'imageformat',jpgFormat)
        image_format = get_config_value(config,'imageformat')

        print('Changed image format from {:s} to {:s}'.format(image_format_old,image_format))

    # close this camera
        gp.check_result(gp.gp_camera_exit(camera,context))
        
    return 0
Esempio n. 5
0
def main():
    logging.basicConfig(
        format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING)
    gp.check_result(gp.use_python_logging())
    context = gp.gp_context_new()
    if hasattr(gp, 'gp_camera_autodetect'):
        # gphoto2 version 2.5+
        cameras = gp.check_result(gp.gp_camera_autodetect(context))
    else:
        port_info_list = gp.check_result(gp.gp_port_info_list_new())
        gp.check_result(gp.gp_port_info_list_load(port_info_list))
        abilities_list = gp.check_result(gp.gp_abilities_list_new())
        gp.check_result(gp.gp_abilities_list_load(abilities_list, context))
        cameras = gp.check_result(gp.gp_abilities_list_detect(
            abilities_list, port_info_list, context))
    n = 0
    for name, value in cameras:
        print('camera number', n)
        print('===============')
        print(name)
        print(value)
        print
        n += 1
    return 0
Esempio n. 6
0
def main():
    logging.basicConfig(
        format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING)
    gp.check_result(gp.use_python_logging())
    cameras = gp.check_result(gp.gp_list_new())
    context = gp.gp_context_new()
    if hasattr(gp, 'gp_camera_autodetect'):
        # gphoto2 version 2.5+
        cam_count = gp.check_result(gp.gp_camera_autodetect(cameras, context))
        assert cam_count == gp.gp_list_count(cameras)
    else:
        port_info_list = gp.check_result(gp.gp_port_info_list_new())
        gp.check_result(gp.gp_port_info_list_load(port_info_list))
        abilities_list = gp.check_result(gp.gp_abilities_list_new())
        gp.check_result(gp.gp_abilities_list_load(abilities_list, context))
        gp.check_result(gp.gp_abilities_list_detect(
            abilities_list, port_info_list, cameras, context))
    for n in range(gp.gp_list_count(cameras)):
        print('camera number', n)
        print('===============')
        print(gp.check_result(gp.gp_list_get_name(cameras, n)))
        print(gp.check_result(gp.gp_list_get_value(cameras, n)))
        print
    return 0
Esempio n. 7
0
    def _detect_cameras(self):

        # use Python logging
        # logging.basicConfig(format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING)
        # gp.check_result(gp.use_python_logging())

        self.context = gp.gp_context_new()

        error, self.port_info_list = gp.gp_port_info_list_new()
        gp.check_result(error)

        error = gp.gp_port_info_list_load(self.port_info_list)
        gp.check_result(error)

        error, abilities_list = gp.gp_abilities_list_new()
        gp.check_result(error)

        error = gp.gp_abilities_list_load(abilities_list)
        gp.check_result(error)

        error, cameras = gp.gp_abilities_list_detect(abilities_list, self.port_info_list)
        gp.check_result(error)

        return cameras