Add ublacklist converter format
This commit is contained in:
parent
cd39080c01
commit
759cfd704c
@ -76,6 +76,8 @@ def convert(data: dict, last_modified: datetime, target_format: str) -> str:
|
|||||||
match target_format:
|
match target_format:
|
||||||
case "adguard":
|
case "adguard":
|
||||||
return adguard_conversion(last_modified, data)
|
return adguard_conversion(last_modified, data)
|
||||||
|
case "ublacklist":
|
||||||
|
return ublacklist_conversion(last_modified, data)
|
||||||
case _:
|
case _:
|
||||||
raise UnsupportedTargetFormatError
|
raise UnsupportedTargetFormatError
|
||||||
|
|
||||||
@ -97,6 +99,23 @@ def adguard_conversion(last_modified: datetime, data: dict) -> list[str]:
|
|||||||
return "\n".join(output)
|
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:
|
def dump_output(data: str, output_file: str) -> None:
|
||||||
try:
|
try:
|
||||||
directory = os.path.dirname(output_file)
|
directory = os.path.dirname(output_file)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user