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()
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)
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
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'
import piggyphoto as pp print "libgphoto2 version:" print pp.library_version() print "detected cameras:" cameras = pp.cameraList(autodetect=True) print cameras
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'