| #!/usr/bin/env python |
| # Copyright (c) 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import os |
| import shutil |
| import subprocess |
| import sys |
| import urllib2 |
| |
| SRC_ROOT = os.path.abspath(os.path.join(__file__, os.pardir, os.pardir, os.pardir)) |
| VERSION_FILE = '.version.sha1' |
| |
| def main(): |
| package_dir = os.path.join(SRC_ROOT, 'sky/packages/material_design_icons/lib') |
| icons_dir = os.path.join(package_dir, 'icons') |
| existing_sha1_path = os.path.join(icons_dir, VERSION_FILE) |
| |
| existing_sha1 = None |
| if os.path.isfile(existing_sha1_path): |
| with open(existing_sha1_path, 'r') as f: |
| existing_sha1 = f.read() |
| |
| desired_sha1_path = os.path.join(package_dir, VERSION_FILE) |
| |
| with open(desired_sha1_path, 'r') as f: |
| desired_sha1 = f.read() |
| |
| if existing_sha1 == desired_sha1: |
| return |
| |
| print "Downloading missing material design icons" |
| |
| tgz_path = os.path.join(package_dir, 'material-design-icons.tgz') |
| untar_path = os.path.join(package_dir, 'material-design-icons') |
| |
| url = 'https://storage.googleapis.com/mojo/material-design-icons/%s' % desired_sha1 |
| response = urllib2.urlopen(url) |
| |
| with open(tgz_path, 'wb') as f: |
| f.write(response.read()) |
| |
| shutil.rmtree(icons_dir, ignore_errors=True) |
| |
| subprocess.call([ 'tar', '-xzf', tgz_path, '-C', package_dir ]) |
| subprocess.call([ 'mv', untar_path, icons_dir ]) |
| subprocess.call([ 'cp', desired_sha1_path, icons_dir ]) |
| |
| os.unlink(tgz_path) |
| |
| if __name__ == '__main__': |
| sys.exit(main()) |