bpo-37760: Avoid cluttering work tree with downloaded Unicode files. (GH-15128)
diff --git a/Tools/unicode/makeunicodedata.py b/Tools/unicode/makeunicodedata.py
index cc2b298..464a4eb 100644
--- a/Tools/unicode/makeunicodedata.py
+++ b/Tools/unicode/makeunicodedata.py
@@ -887,15 +887,18 @@
normalization_changes))
+DATA_DIR = os.path.join('Tools', 'unicode', 'data')
+
def open_data(template, version):
- local = template % ('-'+version,)
+ local = os.path.join(DATA_DIR, template % ('-'+version,))
if not os.path.exists(local):
import urllib.request
if version == '3.2.0':
# irregular url structure
- url = 'http://www.unicode.org/Public/3.2-Update/' + local
+ url = ('http://www.unicode.org/Public/3.2-Update/'+template) % ('-'+version,)
else:
url = ('http://www.unicode.org/Public/%s/ucd/'+template) % (version, '')
+ os.makedirs(DATA_DIR, exist_ok=True)
urllib.request.urlretrieve(url, filename=local)
if local.endswith('.txt'):
return open(local, encoding='utf-8')