diff options
Diffstat (limited to 'isort/main.py')
-rw-r--r-- | isort/main.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/isort/main.py b/isort/main.py index 17d2471b..8d5e2353 100644 --- a/isort/main.py +++ b/isort/main.py @@ -295,6 +295,8 @@ def parse_args(argv: Optional[Sequence[str]] = None) -> Dict[str, Any]: 'where it may not be safe to operate in') parser.add_argument('--case-sensitive', dest='case_sensitive', action='store_true', help='Tells isort to include casing when sorting module names') + parser.add_argument('--filter-files', dest='filter_files', action='store_true', + help='Tells isort to filter files even when they are explicitly passed in as part of the command') parser.add_argument('files', nargs='*', help='One or more Python source files that need their imports sorted.') arguments = {key: value for key, value in vars(parser.parse_args(argv)).items() if value} @@ -343,6 +345,16 @@ def main(argv: Optional[Sequence[str]] = None) -> None: config.update(arguments) wrong_sorted_files = False skipped = [] # type: List[str] + + if config.get('filter_files'): + filtered_files = [] + for file_name in file_names: + if file_should_be_skipped(file_name, config): + skipped.append(file_name) + else: + filtered_files.append(file_name) + file_names = filtered_files + if arguments.get('recursive', False): file_names = iter_source_code(file_names, config, skipped) num_skipped = 0 |