| 403 | return cd_parser |
| 404 | |
| 405 | def execute(self, params, **kwargs): |
| 406 | folder_name = kwargs['folder'] if 'folder' in kwargs else '' |
| 407 | if folder_name: |
| 408 | if folder_name in params.folder_cache or folder_name in params.nested_share_folders: |
| 409 | params.current_folder = folder_name |
| 410 | else: |
| 411 | rs = try_resolve_path(params, folder_name) |
| 412 | if rs is not None: |
| 413 | folder, pattern = rs |
| 414 | if len(pattern) == 0: |
| 415 | params.current_folder = folder.uid |
| 416 | else: |
| 417 | raise CommandError('cd', 'Folder {0} not found'.format(folder_name)) |
| 418 | |
| 419 | |
| 420 | class FolderTreeCommand(Command): |