예제 #1
0
def list_camera_files(camera, path='/'):  # -> camera_files
    """
		カメラ内のフォルダを走査しファイル一覧を取得する関数。
		再帰的実行を駆使して走査する。

		Parameters
		----------
		camera : gp.camera object
		path : char

		Returns
		-------
		camera_files : list
			カメラ内のファイル一覧
	"""
    camera_files = []
    # ファイルリスト獲得
    gp_list = gp.check_result(gp.gp_camera_folder_list_files(camera, path))
    for name, _ in gp_list:
        camera_files.append(os.path.join(path, name))

    # フォルダリスト獲得
    folders = []
    gp_list = gp.check_result(gp.gp_camera_folder_list_folders(camera, path))
    for name, _ in gp_list:
        folders.append(name)

    # サブフォルダを巡回(再起的)
    for name in folders:
        camera_files.extend(list_camera_files(camera, os.path.join(path,
                                                                   name)))
    return camera_files
예제 #2
0
def list_camera_files(camera, path='/'):
    result = []
    gp_list = gp.check_result(
        gp.gp_camera_folder_list_folders(camera, path))
    for name, value in gp_list:
        result.append(name)
    return result
예제 #3
0
파일: camera.py 프로젝트: vishnubob/obscura
 def walk(self, root=None):
     (camera, context) = self.camera
     root = root if root != None else "/"
     dirs = [name[0] for name in gp.check_result(gp.gp_camera_folder_list_folders(camera, root, context))]
     files = [name[0] for name in gp.check_result(gp.gp_camera_folder_list_files(camera, root, context))]
     yield (files, dirs, root)
     for directory in dirs:
         new_root = os.path.join(root, directory)
         for result in self.walk(root=new_root):
             yield result
예제 #4
0
def list_files(camera, context, path="/"):
    result = []
    # get files
    for name, value in gp.check_result(gp.gp_camera_folder_list_files(camera, path, context)):
        result.append(os.path.join(path, name))
    # read folders
    folders = []
    for name, value in gp.check_result(gp.gp_camera_folder_list_folders(camera, path, context)):
        folders.append(name)
    # recurse over subfolders
    for name in folders:
        result.extend(list_files(camera, context, os.path.join(path, name)))
    return result
예제 #5
0
def list_files(camera, path='/'):
    result = []
    # get files
    for name, value in gp.check_result(
            gp.gp_camera_folder_list_files(camera, path)):
        result.append(os.path.join(path, name))
    # read folders
    folders = []
    for name, value in gp.check_result(
            gp.gp_camera_folder_list_folders(camera, path)):
        folders.append(name)
    # recurse over subfolders
    for name in folders:
        result.extend(list_files(camera, os.path.join(path, name)))
    return result
def list_files(camera, context, campath='/'):
	result = []
	gp_list = gp.check_result(gp.gp_list_new())
	# get files
	gp.check_result(gp.gp_camera_folder_list_files(camera, campath, gp_list, context))
	for n in range(gp.gp_list_count(gp_list)):
		result.append(os.path.join(campath, gp.check_result(gp.gp_list_get_name(gp_list, n))))
	# read folders
	folders = []
	gp.check_result(gp.gp_list_reset(gp_list))
	gp.check_result(gp.gp_camera_folder_list_folders(camera, campath, gp_list, context))
	for n in range(gp.gp_list_count(gp_list)):
		folders.append(gp.check_result(gp.gp_list_get_name(gp_list, n)))
	gp.gp_list_unref(gp_list)
	# recurse over subfolders
	for name in folders:
		result.extend(list_files(camera, context, os.path.join(campath, name)))
	return (result)
예제 #7
0
파일: camera.py 프로젝트: jossef/selfie
    def list_files(self, path='/'):
        self._ensure_has_open_connection()
        logging.debug('listing files')

        result = []
        # get files
        for name, value in gp.check_result(
                gp.gp_camera_folder_list_files(self._camera, path, self._context)):
            yield path, name
        # read folders
        folders = []
        for name, value in gp.check_result(
                gp.gp_camera_folder_list_folders(self._camera, path, self._context)):
            folders.append(name)
        # recurse over subfolders
        for name in folders:
            for item in self.list_files(os.path.join(path, name)):
                yield item
예제 #8
0
def list_camera_files(camera, context, path='/'):
    result = []
    # get files
    gp_list = gp.check_result(
        gp.gp_camera_folder_list_files(camera, path, context))
    for n in range(len(gp_list)):
        result.append(
            os.path.join(path, gp.check_result(gp.gp_list_get_name(gp_list,
                                                                   n))))
    # read folders
    folders = []
    gp_list = gp.check_result(
        gp.gp_camera_folder_list_folders(camera, path, context))
    for n in range(len(gp_list)):
        folders.append(gp.check_result(gp.gp_list_get_name(gp_list, n)))
    # recurse over subfolders
    for name in folders:
        result.extend(
            list_camera_files(camera, context, os.path.join(path, name)))
    return result