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: | ||||
|         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) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Wiktor
						Wiktor