part 1 load data from dictionary works
This commit is contained in:
61
match_found.py
Executable file
61
match_found.py
Executable file
@ -0,0 +1,61 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
import argparse
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
directorys: list[str] = [
|
||||
"/etc/netplan/",
|
||||
"/etc/NetworkManager/system-connections/",
|
||||
"/var/lib/NetworkManager/user-connections/",
|
||||
]
|
||||
|
||||
|
||||
def search_string_in_directory(
|
||||
directories: list[str] = directorys, # Use the predefined list as default
|
||||
search_string: str = "", # Default is empty string
|
||||
) -> bool:
|
||||
|
||||
if len(search_string) == 0:
|
||||
return False
|
||||
|
||||
result = False
|
||||
for directory in directories:
|
||||
in_paths = Path(directory)
|
||||
if not in_paths.exists() or not in_paths.is_dir():
|
||||
continue
|
||||
|
||||
files = [file for file in in_paths.iterdir() if file.is_file()]
|
||||
if not files:
|
||||
continue
|
||||
|
||||
# Search for the string in each file
|
||||
for file in files:
|
||||
try:
|
||||
with open(file, "r", errors="ignore") as f:
|
||||
for line in f:
|
||||
if search_string in line:
|
||||
result = True # String found
|
||||
break
|
||||
if result:
|
||||
break # No need to check further
|
||||
except Exception:
|
||||
continue # Skip files that cause errors
|
||||
|
||||
# Invert the logic: return False if string is found, True otherwise
|
||||
return result
|
||||
|
||||
|
||||
def main() -> bool:
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Script only for use to compare the private key in the Network configurations to avoid errors with the network manager."
|
||||
)
|
||||
parser.add_argument("search_string", help="Search string")
|
||||
args = parser.parse_args()
|
||||
|
||||
result = search_string_in_directory(search_string=args.search_string)
|
||||
print(result)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Reference in New Issue
Block a user