
adblock2polipo.py
By: a guest on
Jun 21st, 2012 | syntax:
Python | size: 1.16 KB | hits: 42 | expires: Never
#!/usr/bin/python
# convert adblock ruleset into polipo-forbidden format
if __name__ == "__main__":
import os
import sys
import re
if len(sys.argv) == 1:
sys.exit("Usage: %s <adblockrules>" % os.path.basename(sys.argv[0]))
if not os.path.exists(sys.argv[1]):
sys.exit("The rules file (%s) doesn't exist" % sys.argv[1])
fhandle = file(sys.argv[1])
lines = fhandle.readlines()
fhandle.close()
dollar_re = re.compile("(.*?)\$.*")
for line in lines:
if line:
if (line[0] in ("[", "!", "~", "#", "@") or
line.startswith("/adverti") or
"##" in line):
continue
line = dollar_re.sub(r"\1", line)
# line = line.replace("|http://", "")
line = line.replace("|", "")
line = line.replace("||", "")
line = line.replace(".", r"\.")
line = line.replace("*", ".*")
line = line.replace("?", r"\?")
line = line.replace("^", r"[\/:\.=&\?\+\-\ ]+")
# line = line.replace("&", r"\&")
line = line.replace("+", r"\+")
# line = line.replace("-", r"\-")
# line = line.replace(";", r"\;")
# line = line.replace("=", r"\=")
# line = line.replace("/", r"\/")
print(line.strip())
print("")