]> granicus.if.org Git - esp-idf/commitdiff
Download font file only is not exists in target location
authorKrzysztof Budzynski <krzysztof@espressif.com>
Tue, 21 May 2019 01:51:39 +0000 (09:51 +0800)
committerAngus Gratton <angus@espressif.com>
Tue, 21 May 2019 01:51:39 +0000 (09:51 +0800)
docs/en/conf.py
docs/local_util.py
docs/zh_CN/conf.py

index 3747c9fc1645170ccc3f14933f1786be216ffa62..0713b97f1d61a6f8540d86abdd6cd23a12ebaaff 100644 (file)
@@ -10,7 +10,7 @@ import sys
 import os
 sys.path.insert(0, os.path.abspath('..'))
 from conf_common import *  # noqa: F401, F403 - need to make available everything from common
-from local_util import download_file  # noqa: E402 - need to import from common folder
+from local_util import download_file_if_missing  # noqa: E402 - need to import from common folder
 
 # General information about the project.
 project = u'ESP-IDF Programming Guide'
@@ -22,7 +22,7 @@ language = 'en'
 
 # Download font file that is stored on a separate server to save on esp-idf repository size.
 print("Downloading font file")
-download_file('https://dl.espressif.com/dl/esp-idf/docs/_static/DejaVuSans.ttf', '../_static')
+download_file_if_missing('https://dl.espressif.com/dl/esp-idf/docs/_static/DejaVuSans.ttf', '../_static')
 
 # Set up font for blockdiag, nwdiag, rackdiag and packetdiag
 blockdiag_fontpath = '../_static/DejaVuSans.ttf'
index 2a89592cef3818c86db09efff6d13d7198913f73..d0fa1ce9c6a1c87e0d941eaed064331f6f349902 100644 (file)
@@ -18,7 +18,14 @@ from __future__ import unicode_literals
 from io import open
 import os
 import shutil
-import urllib
+
+try:
+    import urllib.request
+    _urlretrieve = urllib.request.urlretrieve
+except ImportError:
+    # Python 2 fallback
+    import urllib
+    _urlretrieve = urllib.urlretrieve
 
 
 def run_cmd_get_output(cmd):
@@ -58,9 +65,13 @@ def copy_if_modified(src_path, dst_path):
             copy_file_if_modified(src_file_path, dst_file_path)
 
 
-def download_file(from_url, to_path):
-    tmp_file, header = urllib.urlretrieve(from_url)
-    filename = os.path.basename(from_url)
-    with open(to_path + "/" + filename, 'wb') as fobj:
-        with open(tmp_file, 'rb') as tmp:
-            fobj.write(tmp.read())
+def download_file_if_missing(from_url, to_path):
+    filename_with_path = to_path + "/" + os.path.basename(from_url)
+    exists = os.path.isfile(filename_with_path)
+    if exists:
+        print("The file '%s' already exists" % (filename_with_path))
+    else:
+        tmp_file, header = _urlretrieve(from_url)
+        with open(filename_with_path, 'wb') as fobj:
+            with open(tmp_file, 'rb') as tmp:
+                fobj.write(tmp.read())
index 0ebcc75dd1a0cf30b1fde22a1e11d5fe16c18a65..0f7c85199f943ba148d250a6fdc6e8c8c2dbe0e4 100644 (file)
@@ -10,7 +10,7 @@ import sys
 import os
 sys.path.insert(0, os.path.abspath('..'))
 from conf_common import *  # noqa: F401, F403 - need to make available everything from common
-from local_util import download_file  # noqa: E402 - need to import from common folder
+from local_util import download_file_if_missing  # noqa: E402 - need to import from common folder
 
 # General information about the project.
 project = u'ESP-IDF 编程指南'
@@ -22,7 +22,7 @@ language = 'zh_CN'
 
 # Download font file that is stored on a separate server to save on esp-idf repository size.
 print("Downloading font file")
-download_file('https://dl.espressif.com/dl/esp-idf/docs/_static/NotoSansSC-Regular.otf', '../_static')
+download_file_if_missing('https://dl.espressif.com/dl/esp-idf/docs/_static/NotoSansSC-Regular.otf', '../_static')
 
 # Set up font for blockdiag, nwdiag, rackdiag and packetdiag
 blockdiag_fontpath = '../_static/NotoSansSC-Regular.otf'