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
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
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
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
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)
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
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