]> granicus.if.org Git - python/commitdiff
bpo-37760: Avoid cluttering work tree with downloaded Unicode files. (GH-15128)
authorGreg Price <gnprice@gmail.com>
Thu, 15 Aug 2019 01:18:53 +0000 (18:18 -0700)
committerBenjamin Peterson <benjamin@python.org>
Thu, 15 Aug 2019 01:18:53 +0000 (18:18 -0700)
.gitignore
Tools/unicode/makeunicodedata.py

index 9445ef1e2c525215342b488ca28a3042c72ded8c..5f1ba0b92ceb6e8d6d3b19b327f632112d40dcfe 100644 (file)
@@ -74,6 +74,7 @@ PCbuild/arm32/
 PCbuild/arm64/
 PCbuild/obj/
 PCbuild/win32/
+Tools/unicode/data/
 .purify
 __pycache__
 autom4te.cache
index cc2b2981ef5b76d0c01870b471fd399a54147f60..464a4ebf772234b395e1883aaaae1c25420e6fc1 100644 (file)
@@ -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')