Wsparcie dla formatu uBlacklist #5

Open
wiktor wants to merge 10 commits from ublacklist-format into master
Showing only changes of commit 759cfd704c - Show all commits

View File

@ -76,6 +76,8 @@ def convert(data: dict, last_modified: datetime, target_format: str) -> str:
match target_format:
case "adguard":
return adguard_conversion(last_modified, data)
case "ublacklist":
return ublacklist_conversion(last_modified, data)
case _:
raise UnsupportedTargetFormatError
@ -97,6 +99,23 @@ def adguard_conversion(last_modified: datetime, data: dict) -> list[str]:
return "\n".join(output)
def ublacklist_conversion(last_modified: datetime, data: dict) -> list[str]:
header_lines: list[str] = [
f"# Blocking list automatically generated at {last_modified.strftime('%Y-%m-%d %H:%M:%S %Z%z')}",
"# Created with ❤️ by internet-czas-dzialac.pl",
]
output: list[str] = list(header_lines)
for entry in data["domains"]:
fqdn = entry["fqdn"]
if entry.get("exclude", False):
continue
output.append(f"*://*.{fqdn}/*")
return "\n".join(output)
def dump_output(data: str, output_file: str) -> None:
try:
directory = os.path.dirname(output_file)