From 3e4498d35c34aeaf4a9c3d57509b0d3277048ac6 Mon Sep 17 00:00:00 2001 From: Greg Price Date: Wed, 14 Aug 2019 18:18:53 -0700 Subject: [PATCH] bpo-37760: Avoid cluttering work tree with downloaded Unicode files. (GH-15128) --- .gitignore | 1 + Tools/unicode/makeunicodedata.py | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 9445ef1e2c5..5f1ba0b92ce 100644 --- a/.gitignore +++ b/.gitignore @@ -74,6 +74,7 @@ PCbuild/arm32/ PCbuild/arm64/ PCbuild/obj/ PCbuild/win32/ +Tools/unicode/data/ .purify __pycache__ autom4te.cache diff --git a/Tools/unicode/makeunicodedata.py b/Tools/unicode/makeunicodedata.py index cc2b2981ef5..464a4ebf772 100644 --- a/Tools/unicode/makeunicodedata.py +++ b/Tools/unicode/makeunicodedata.py @@ -887,15 +887,18 @@ def merge_old_version(version, new, old): 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')