summaryrefslogtreecommitdiff
path: root/regenerate_index_html.py
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-12-17 22:57:16 +0100
committerEven Rouault <even.rouault@spatialys.com>2019-12-17 22:57:16 +0100
commit4817130d268df7b5bd83bbc5fda0f1d5a75a0a09 (patch)
treee7302faa45a210a942ef968451aedc1163aee528 /regenerate_index_html.py
parentde6a04d8d600df2a0ac5896c5b82f243b5f8586c (diff)
downloadPROJ-data-4817130d268df7b5bd83bbc5fda0f1d5a75a0a09.tar.gz
PROJ-data-4817130d268df7b5bd83bbc5fda0f1d5a75a0a09.zip
Add sync_to_cdn.sh and regenerate_index_html.py; refresh index.html
Diffstat (limited to 'regenerate_index_html.py')
-rw-r--r--regenerate_index_html.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/regenerate_index_html.py b/regenerate_index_html.py
new file mode 100644
index 0000000..ebc3aa7
--- /dev/null
+++ b/regenerate_index_html.py
@@ -0,0 +1,59 @@
+from osgeo import gdal
+import datetime
+import glob
+import os
+
+dirnames = []
+links = []
+for dirname in glob.glob('*'):
+ if not os.path.isdir(dirname):
+ continue
+ dirnames.append(dirname)
+
+total_size = 0
+set_files = set()
+for dirname in sorted(dirnames):
+ filenames = []
+ readme_filename = None
+ for f in glob.glob(dirname + '/*'):
+ f = os.path.basename(f)
+ if f.startswith('README'):
+ assert not readme_filename
+ readme_filename = f
+ else:
+ filenames.append(f)
+ links.append('</ul><ul>')
+ for f in [readme_filename] + sorted(filenames):
+
+ assert f not in set_files
+ set_files.add(f)
+
+ full_filename = os.path.join(dirname, f)
+ ds = gdal.OpenEx(full_filename)
+ desc = ''
+ if ds:
+ imageDesc = ds.GetMetadataItem('TIFFTAG_IMAGEDESCRIPTION')
+ if imageDesc:
+ pos = imageDesc.find('. Converted from')
+ if pos >= 0:
+ imageDesc = imageDesc[0:pos]
+ desc = ': ' + imageDesc
+
+ size_str = ''
+ size = os.stat(full_filename).st_size
+ total_size += size
+ if size > 1024 * 1024:
+ size_str = '. Size: %.1f MB' % (size / (1024. * 1024))
+
+ if f.startswith('README'):
+ last_modified = ''
+ else:
+ last_modified = '. Last modified: ' + datetime.datetime.utcfromtimestamp(os.stat(full_filename).st_mtime).strftime("%Y/%m/%d")
+
+ links.append('<li><a href="%s">%s</a>%s%s%s</li>' % (f, f, desc, size_str, last_modified))
+
+total_size_str = '%d MB' % (total_size // (1024 * 1024))
+
+content = '<!-- This is a generated file by regenerate_index_html.py. Do not modify !!!! -->\n\n'
+content += open('index.html.in', 'rt').read().replace('${LINKS_WILL_BE_ADDED_HERE_BY_REGENERATE_INDEX_HTML}', '\n'.join(links)).replace('${TOTAL_SIZE}', total_size_str)
+open('index.html', 'wt').write(content)