1
0
Fork 0
privacybadger/scripts/convertpsl.py
Daniel Baumann 51333c7ef4
Adding upstream version 2020.10.7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 23:00:13 +02:00

36 lines
895 B
Python
Executable file

#!/usr/bin/env python
# script based on
# https://github.com/adblockplus/buildtools/blob/d090e00610a58cebc78478ae33e896e6b949fc12/publicSuffixListUpdater.py
from __future__ import print_function
import json
import sys
def convert(psl_text):
suffixes = {}
for line in psl_text:
line = line.rstrip()
if line.startswith('//') or '.' not in line:
continue
if line.startswith('*.'):
suffixes[line[2:]] = 2
elif line.startswith('!'):
suffixes[line[1:]] = 0
else:
suffixes[line] = 1
return suffixes
if __name__ == '__main__':
with open(sys.argv[1], 'r+') as f:
psl = convert(f)
f.seek(0)
text = 'window.publicSuffixes = %s;' % (
json.dumps(psl, sort_keys=True, indent=2, separators=(',', ': '))
)
print(text, file=f)
f.truncate()