| 763 | return cls(patterns, [allowed_extensions] * len(patterns)) |
| 764 | |
| 765 | def resolve( |
| 766 | self, |
| 767 | base_path: str, |
| 768 | download_config: Optional[DownloadConfig] = None, |
| 769 | ) -> "DataFilesList": |
| 770 | base_path = base_path if base_path is not None else Path().resolve().as_posix() |
| 771 | data_files = [] |
| 772 | for pattern, allowed_extensions in zip(self, self.allowed_extensions): |
| 773 | try: |
| 774 | data_files.extend( |
| 775 | resolve_pattern( |
| 776 | pattern, |
| 777 | base_path=base_path, |
| 778 | allowed_extensions=allowed_extensions, |
| 779 | download_config=download_config, |
| 780 | ) |
| 781 | ) |
| 782 | except FileNotFoundError: |
| 783 | if not has_magic(pattern): |
| 784 | raise |
| 785 | origin_metadata = _get_origin_metadata(data_files, download_config=download_config) |
| 786 | return DataFilesList(data_files, origin_metadata) |
| 787 | |
| 788 | def filter_extensions(self, extensions: list[str]) -> "DataFilesPatternsList": |
| 789 | return DataFilesPatternsList( |