Skip to content

Commit 7c0f371

Browse files
committed
Normalize OSX's weird filename encoding
1 parent 1f6b977 commit 7c0f371

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

utils/merge-rulesets.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import sys
1515
import traceback
1616
import re
17+
import unicodedata
1718

1819
os.chdir("src")
1920
rulesets_fn="chrome/content/rules/default.rulesets"
@@ -52,6 +53,12 @@ def clean_up(rulefile):
5253
rulefile = re.sub(r"\s*(/>|<ruleset)", r"\1", rulefile)
5354
return rulefile
5455

56+
def normalize(f):
57+
"""Turn OSX's weird unicode decomposition for filenames into something normal"""
58+
if os.uname()[0] == 'Darwin':
59+
f = unicodedata.normalize('NFC', unicode(f, 'utf-8')).encode('utf-8')
60+
return f
61+
5562
library = open(rulesets_fn,"w")
5663

5764
try:
@@ -66,7 +73,7 @@ def clean_up(rulefile):
6673

6774
for rfile in sorted(xml_ruleset_files):
6875
ruleset = open(rfile).read()
69-
fn=os.path.basename(rfile)
76+
fn=normalize(os.path.basename(rfile))
7077
ruleset = ruleset.replace("<ruleset", '<ruleset f="%s"' % fn, 1)
7178
library.write(clean_up(ruleset))
7279
library.write("</rulesetlibrary>\n")

0 commit comments

Comments
 (0)