Ejemplo n.º 1
0
    def __init__(self, id = 0):
        try:
            import piggyphoto
        except:
            warn("Initializing piggyphoto failed, do you have piggyphoto installed?")
            return

        devices = piggyphoto.cameraList(autodetect=True).toList()
        if not len(devices):
            warn("No compatible digital cameras attached")
            return            

        self.device, self.usbid = devices[id]
        self.camera = piggyphoto.camera()
Ejemplo n.º 2
0
    def yield_devices(cls, config):
        """ Search for usable devices, yield one at a time

        :param config:  spreads configuration
        :type config:   spreads.config.ConfigView

        """
        pil = pp.portInfoList()
        for name, path in pp.cameraList(autodetect=True).toList():
            pi = pil.get_info(pil.lookup_path(path))
            logger = logging.getLogger('GPhoto2Camera')
            logger.debug("Connecting to camera {} at {}".format(name, path))
            cam = pp.camera(autoInit=False)
            cam.port_info = pi
            cam.init()
            yield cls(config, cam)
Ejemplo n.º 3
0
    def yield_devices(cls, config):
        """ Search for usable devices, yield one at a time

        :param config:  spreads configuration
        :type config:   spreads.config.ConfigView

        """
        pil = pp.portInfoList()
        for name, path in pp.cameraList(autodetect=True).toList():
            pi = pil.get_info(pil.lookup_path(path))
            logger = logging.getLogger('GPhoto2Camera')
            logger.debug("Connecting to camera {} at {}".format(name, path))
            cam = pp.camera(autoInit=False)
            cam.port_info = pi
            cam.init()
            yield cls(config, cam)
Ejemplo n.º 4
0
def connect_camera():
    global C
    if not C:
        try:
            C = camera()
            C.leave_locked()
            return True
        except:
            C = False
            return False
    else:
        clist = cameraList(autodetect=True)
        if str(clist).startswith("cameraList object with 0 elements"):
            C = False
            return False
        elif C.initialized:
            return True
Ejemplo n.º 5
0
def connect_camera():
    global C
    if not C:
        try:
            C = camera()
            C.leave_locked()
            return True
        except:
            C = False
            return False
    else:
        clist = cameraList(autodetect=True)
        if str(clist).startswith("cameraList object with 0 elements"):
            C = False
            return False
        elif C.initialized:
            return True
Ejemplo n.º 6
0
        while 1:
            try:
                c = sys.stdin.read(1)
                break
            except IOError: pass
    finally:
        termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm)
        fcntl.fcntl(fd, fcntl.F_SETFL, oldflags)

def runProgram(command):
    print 'RUNNING: ' + command
    os.system(command)

cameras = []
pil = pp.portInfoList()
for name, path in pp.cameraList(autodetect=True).toList():
    pi = pil.get_info(pil.lookup_path(path))
    print "Connecting to camera {} at {}".format(name, path)
    cam = pp.camera(autoInit=False)
    cam.port_info = pi
    cam.init()
    cameras.append(cam)

if len(cameras) != 1:
    print "Required 1 camera. Not enough or too many."
    exit(1)

cam = cameras[0]
#print cam.config.main.capturesettings.shutterspeed2
config = cam.config
config['capturesettings']['shutterspeed2'].value = '1/5'
Ejemplo n.º 7
0
import piggyphoto as pp

print "libgphoto2 version:"
print pp.library_version()

print "detected cameras:"
cameras = pp.cameraList(autodetect=True)
print cameras
Ejemplo n.º 8
0
                break
            except IOError:
                pass
    finally:
        termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm)
        fcntl.fcntl(fd, fcntl.F_SETFL, oldflags)


def runProgram(command):
    print 'RUNNING: ' + command
    os.system(command)


cameras = []
pil = pp.portInfoList()
for name, path in pp.cameraList(autodetect=True).toList():
    pi = pil.get_info(pil.lookup_path(path))
    print "Connecting to camera {} at {}".format(name, path)
    cam = pp.camera(autoInit=False)
    cam.port_info = pi
    cam.init()
    cameras.append(cam)

if len(cameras) != 1:
    print "Required 1 camera. Not enough or too many."
    exit(1)

cam = cameras[0]
#print cam.config.main.capturesettings.shutterspeed2
config = cam.config
config['capturesettings']['shutterspeed2'].value = '1/5'