Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def main():
logging.basicConfig(
format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING)
callback_obj = gp.check_result(gp.use_python_logging())
computer_files = list_computer_files()
camera = gp.check_result(gp.gp_camera_new())
gp.check_result(gp.gp_camera_init(camera))
print('Getting list of files from camera...')
camera_files = list_camera_files(camera)
if not camera_files:
print('No files found')
return 1
print('Copying files...')
for path in camera_files:
info = get_camera_file_info(camera, path)
timestamp = datetime.fromtimestamp(info.file.mtime)
folder, name = os.path.split(path)
dest_dir = get_target_dir(timestamp)
dest = os.path.join(dest_dir, name)
if dest in computer_files:
def main():
logging.basicConfig(
format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING)
callback_obj = gp.check_result(gp.use_python_logging())
camera = gp.Camera()
camera.init()
files = list_files(camera)
if not files:
print('No files found')
return 1
print('File list')
print('=========')
for path in files[:10]:
print(path)
print('...')
for path in files[-10:]:
print(path)
info = get_file_info(camera, files[-1])
print
print('File info')
logging.basicConfig(
format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING)
callback_obj = gp.check_result(gp.use_python_logging())
# open camera connection
camera = gp.check_result(gp.gp_camera_new())
gp.check_result(gp.gp_camera_init(camera))
# get configuration tree
config = gp.check_result(gp.gp_camera_get_config(camera))
# find the capture target config item
capture_target = gp.check_result(
gp.gp_widget_get_child_by_name(config, 'capturetarget'))
# print current setting
value = gp.check_result(gp.gp_widget_get_value(capture_target))
print('Current setting:', value)
# print possible settings
for n in range(gp.check_result(gp.gp_widget_count_choices(capture_target))):
choice = gp.check_result(gp.gp_widget_get_choice(capture_target, n))
print('Choice:', n, choice)
# clean up
gp.check_result(gp.gp_camera_exit(camera))
return 0
# add our own callback, with data
print('Using Python callback, with data')
print('================================')
callback_obj = gp.check_result(
gp.gp_log_add_func(gp.GP_LOG_VERBOSE, callback, 'some data'))
print('callback_obj', callback_obj)
# create an error
gp.gp_camera_init(camera)
# uninstall callback
del callback_obj
# set gphoto2 to use Python's logging directly
print('Using Python logging')
print('====================')
logging.basicConfig(
format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING)
callback_obj = gp.check_result(gp.use_python_logging())
# create an error
gp.gp_camera_init(camera)
return 0
def main():
logging.basicConfig(
format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING)
callback_obj = gp.check_result(gp.use_python_logging())
camera = gp.Camera()
camera.init()
files = list_files(camera)
if not files:
print('No files found')
return 1
print('File list')
print('=========')
for path in files[:10]:
print(path)
print('...')
for path in files[-10:]:
print(path)
print()
print('Exif data')
print('=========')
def main():
logging.basicConfig(
format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING)
callback_obj = gp.check_result(gp.use_python_logging())
camera = gp.check_result(gp.gp_camera_new())
gp.check_result(gp.gp_camera_init(camera))
print('Getting list of files')
files = list_files(camera)
if not files:
print('No files found')
return 1
path = files[0]
print('Copying %s to memory in 100 kilobyte chunks' % path)
folder, name = os.path.split(path)
file_info = gp.check_result(gp.gp_camera_file_get_info(
camera, folder, name))
data = bytearray(file_info.file.size)
view = memoryview(data)
chunk_size = 100 * 1024
offset = 0
while offset < len(data):
bytes_read = gp.check_result(gp.gp_camera_file_read(
camera, folder, name, gp.GP_FILE_TYPE_NORMAL,
offset, view[offset:offset + chunk_size]))
offset += bytes_read
print(bytes_read)
print(' '.join(map(str, data[0:10])))
image = Image.open(io.BytesIO(data))
image.show()
gp.check_result(gp.gp_camera_exit(camera))
return 0
def main():
logging.basicConfig(
format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING)
callback_obj = gp.check_result(gp.use_python_logging())
camera = gp.Camera()
camera.init()
print('Capturing image')
file_path = camera.capture(gp.GP_CAPTURE_IMAGE)
print('Camera file path: {0}/{1}'.format(file_path.folder, file_path.name))
target = os.path.join('/tmp', file_path.name)
print('Copying image to', target)
camera_file = camera.file_get(
file_path.folder, file_path.name, gp.GP_FILE_TYPE_NORMAL)
camera_file.save(target)
subprocess.call(['xdg-open', target])
camera.exit()
return 0
print('Copying files...')
for path in camera_files:
info = get_camera_file_info(camera, path)
timestamp = datetime.fromtimestamp(info.file.mtime)
folder, name = os.path.split(path)
dest_dir = get_target_dir(timestamp)
dest = os.path.join(dest_dir, name)
if dest in computer_files:
continue
print('%s -> %s' % (path, dest_dir))
if not os.path.isdir(dest_dir):
os.makedirs(dest_dir)
camera_file = gp.check_result(gp.gp_camera_file_get(
camera, folder, name, gp.GP_FILE_TYPE_NORMAL))
gp.check_result(gp.gp_file_save(camera_file, dest))
gp.check_result(gp.gp_camera_exit(camera))
return 0
def main():
# use Python logging
logging.basicConfig(
format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING)
callback_obj = gp.check_result(gp.use_python_logging())
# open camera connection
camera = gp.check_result(gp.gp_camera_new())
gp.check_result(gp.gp_camera_init(camera))
# get configuration tree
config = gp.check_result(gp.gp_camera_get_config(camera))
# find the capture target config item
capture_target = gp.check_result(
gp.gp_widget_get_child_by_name(config, 'capturetarget'))
# print current setting
value = gp.check_result(gp.gp_widget_get_value(capture_target))
print('Current setting:', value)
# print possible settings
for n in range(gp.check_result(gp.gp_widget_count_choices(capture_target))):
choice = gp.check_result(gp.gp_widget_get_choice(capture_target, n))
print('Choice:', n, choice)
# clean up
gp.check_result(gp.gp_camera_exit(camera))
return 0
'expoptions' : '',
'piPreviewFile' : ''
}
args = request.args.to_dict()
if args.get('preview'):
cameraData['piPreviewFile'] = PI_PREVIEW_FILE + '?' + str(calendar.timegm(time.gmtime())) #Adds a unique suffix so the browser always downloads the file
if args.get('wakeCamera'):
writeString("WC") # Sends the WAKE command to the Arduino
time.sleep(1); # (Adds another second on top of the 0.5s baked into WriteString)
app.logger.debug('Returned after detecting camera wake command')
return redirect(url_for('camera'))
try:
camera = gp.Camera()
context = gp.gp_context_new()
camera.init(context)
config = camera.get_config(context)
cameraTimeAndDate = "Unknown"
try:
# find the date/time setting config item and get it
# name varies with camera driver
# Canon EOS350d - 'datetime'
# PTP - 'd034'
for name, fmt in (('datetime', '%Y-%m-%d %H:%M:%S'),
('datetimeutc', None),
('d034', None)):
OK, datetime_config = gp.gp_widget_get_child_by_name(config, name)
if OK >= gp.GP_OK:
widget_type = gp.check_result(gp.gp_widget_get_type(datetime_config))
if widget_type == gp.GP_WIDGET_DATE: