def list_files(self, file_types=[], groups={}, use_shebang=True, exclude=[]): # type: (List[str], Dict[str, List[str]], bool, List[str]) -> Dict[str, List[str]] assert file_types or groups, "Atleast one of `file_types` or `groups` must be specified." self.groups = groups if self.args.groups: file_types = [ ft for group in self.args.groups for ft in groups[group] ] else: file_types.extend( {ft for group in groups.values() for ft in group}) self.by_lang = lister.list_files( targets=self.args.targets, modified_only=self.args.modified, ftypes=file_types, use_shebang=use_shebang, group_by_ftype=True, exclude=exclude, ) return self.by_lang
def list_files( self, file_types: Sequence[str] = [], groups: Mapping[str, Sequence[str]] = {}, use_shebang: bool = True, exclude: Sequence[str] = [], ) -> Dict[str, List[str]]: assert file_types or groups, "Atleast one of `file_types` or `groups` must be specified." self.groups = groups if self.args.groups: file_types = [ ft for group in self.args.groups for ft in groups[group] ] else: file_types = [ *file_types, *{ft for group in groups.values() for ft in group} ] self.by_lang = lister.list_files( targets=self.args.targets, modified_only=self.args.modified, ftypes=file_types, use_shebang=use_shebang, group_by_ftype=True, exclude=exclude, ) return self.by_lang