Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'pathspec' in functional components in Python. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
def test_empty_exclude(self) -> None:
path = THIS_DIR / "data" / "include_exclude_tests"
report = black.Report()
gitignore = PathSpec.from_lines("gitwildmatch", [])
empty = re.compile(r"")
sources: List[Path] = []
expected = [
Path(path / "b/dont_exclude/a.py"),
Path(path / "b/dont_exclude/a.pyi"),
Path(path / "b/exclude/a.py"),
Path(path / "b/exclude/a.pyi"),
Path(path / "b/.definitely_exclude/a.py"),
Path(path / "b/.definitely_exclude/a.pyi"),
]
this_abs = THIS_DIR.resolve()
sources.extend(
black.gen_python_files_in_dir(
path,
this_abs,
re.compile(black.DEFAULT_INCLUDES),
def _create_ignore_spec(self, build_ignore_patterns):
return PathSpec.from_lines(GitWildMatchPattern, build_ignore_patterns or [])
def test_empty_include(self) -> None:
path = THIS_DIR / "data" / "include_exclude_tests"
report = black.Report()
gitignore = PathSpec.from_lines("gitwildmatch", [])
empty = re.compile(r"")
sources: List[Path] = []
expected = [
Path(path / "b/exclude/a.pie"),
Path(path / "b/exclude/a.py"),
Path(path / "b/exclude/a.pyi"),
Path(path / "b/dont_exclude/a.pie"),
Path(path / "b/dont_exclude/a.py"),
Path(path / "b/dont_exclude/a.pyi"),
Path(path / "b/.definitely_exclude/a.pie"),
Path(path / "b/.definitely_exclude/a.py"),
Path(path / "b/.definitely_exclude/a.pyi"),
]
this_abs = THIS_DIR.resolve()
sources.extend(
black.gen_python_files_in_dir(
def _create_ignore_spec(self, build_ignore_patterns):
return PathSpec.from_lines(GitWildMatchPattern, build_ignore_patterns or [])
def _load_ignore(at_path, parent_spec, ignores):
ignore_file = at_path / ".gitignore"
if not ignore_file.exists():
return parent_spec
lines = ignore_file.read_text().split(os.linesep)
spec = PathSpec.from_lines("gitwildmatch", lines)
spec = PathSpec(parent_spec.patterns + spec.patterns)
ignores[at_path] = spec
return spec
def _load_ignore(at_path, parent_spec, ignores):
ignore_file = at_path / ".gitignore"
if not ignore_file.exists():
return parent_spec
lines = ignore_file.read_text().split(os.linesep)
spec = PathSpec.from_lines("gitwildmatch", lines)
spec = PathSpec(parent_spec.patterns + spec.patterns)
ignores[at_path] = spec
return spec
def _prepare_repo_files_for_packaging(
repository_dirpath, dirpath_with_original_files_with_git_filters, force_if_dirty):
repo = git.Repo(repository_dirpath)
if not force_if_dirty and repo.git.status("--porcelain"):
print(("Repository contains local changes."
" Please remove or commit changes before proceeding."),
file=sys.stderr)
exit(1)
path_specs = _get_path_specs_with_git_filters_from_gitattributes(repository_dirpath)
spec_obj = pathspec.PathSpec.from_lines(
pathspec.patterns.gitwildmatch.GitWildMatchPattern, path_specs)
relative_filepaths_with_git_filters = [
match for match in spec_obj.match_tree(repository_dirpath)]
_move_files_with_filters_to_temporary_location(
repository_dirpath,
relative_filepaths_with_git_filters,
dirpath_with_original_files_with_git_filters)
_reset_files_with_filters_and_activate_smudge_filters(repo, path_specs)
return relative_filepaths_with_git_filters
# Apply exclude patterns on the passed artifact paths if available
if exclude_patterns:
securesystemslib.formats.NAMES_SCHEMA.check_match(exclude_patterns)
norm_artifacts = _apply_exclude_patterns(norm_artifacts, exclude_patterns)
# Check if any of the prefixes passed for left stripping is a left substring
# of another
if lstrip_paths:
for prefix_one, prefix_two in itertools.combinations(lstrip_paths, 2):
if prefix_one.startswith(prefix_two) or \
prefix_two.startswith(prefix_one):
raise in_toto.exceptions.PrefixError("'{}' and '{}' "
"triggered a left substring error".format(prefix_one, prefix_two))
# Compile the gitignore-style patterns
exclude_filter = PathSpec.from_lines('gitwildmatch', exclude_patterns or [])
# Iterate over remaining normalized artifact paths
for artifact in norm_artifacts:
if os.path.isfile(artifact):
# FIXME: this is necessary to provide consisency between windows
# filepaths and *nix filepaths. A better solution may be in order
# though...
artifact = artifact.replace('\\', '/')
key = _apply_left_strip(artifact, artifacts_dict, lstrip_paths)
artifacts_dict[key] = _hash_artifact(artifact,
normalize_line_endings=normalize_line_endings)
elif os.path.isdir(artifact):
for root, dirs, files in os.walk(artifact,
followlinks=follow_symlink_dirs):
# Create a list of normalized dirpaths
if self.intransitive:
jvm_targets = set(self.context.target_roots).intersection(jvm_targets)
build_ignore_patterns = self.context.options.for_global_scope().build_ignore or []
project = Project(self.project_name,
self.python,
self.skip_java,
self.skip_scala,
self.use_source_root,
get_buildroot(),
debug_port,
self.context,
jvm_targets,
not self.intransitive,
self.TargetUtil(self.context),
PathSpec.from_lines(GitWildMatchPattern, build_ignore_patterns))
if self.python:
python_source_paths = self.get_options().python_source_paths
python_test_paths = self.get_options().python_test_paths
python_lib_paths = self.get_options().python_lib_paths
project.configure_python(python_source_paths, python_test_paths, python_lib_paths)
extra_source_paths = self.get_options().extra_jvm_source_paths
extra_test_paths = self.get_options().extra_jvm_test_paths
all_targets = project.configure_jvm(extra_source_paths, extra_test_paths)
return all_targets, project
gitignores.append(".gitignore")
for root, dir_names, file_names in os.walk(local_path):
for dir_name in dir_names:
if dir_name in svc_directories:
continue
dir_name = os.path.join(root, dir_name)
gitignore_path = os.path.join(dir_name, ".gitignore")
if os.path.exists(gitignore_path):
gitignores.append(gitignore_path)
for file_name in file_names:
if file_name == ".gitignore":
gitignore_path = os.path.join(root, file_name)
gitignores.append(gitignore_path)
for gitignore_file in gitignores:
with open(gitignore_file) as f:
spec = pathspec.PathSpec.from_lines("gitwildmatch", f)
gitignore_patterns += [x for x in spec.patterns if x.regex]
if not gitignores:
alert(
"--gitignore option set, but no .gitignore files were found",
color=ALERT_COLOR,
)
gitignore_spec = pathspec.PathSpec(gitignore_patterns)
files = []
if os.path.isdir(local_path):
for root, dir_names, file_names in os.walk(local_path):
for file_name in file_names:
file_name = os.path.join(root, file_name)
if not gitignore_spec.match_file(file_name):
files.append(file_name)
for svc_directory in svc_directories: