mirror of
https://github.com/home-assistant/frontend.git
synced 2025-04-25 22:07:20 +00:00

* Version bump to 20180510.1 * Fix hass util * Fix translations * Bye paper-time-input * Add webpack config * Add webpack to package.json * Fix translation import * Disable web animations polyfill bad import * Disable importHref import * Update webpack config to build authorize.js * Build translations json * Build frontend correctly * Run eslint --fix * Load markdown JS on demand (#1155) * Add HTML imports (#1160) * Fix localize (#1161) * Fix Roboto in build (#1162) * Load web animations polyfill (#1163) * P3: Fix chart js (#1164) * P3: Fix Chart JS * Update timeline package * P3: panel resolver (#1165) * WIP * Initial importing of panels * Fix panel resolver * Fix automation and script editor (#1166) * Expose Polymer and Polymer.Element on window (#1167) * Remove unused import * eslint --fix * Es5 build (#1168) * Build for ES5 * Fix build_frontend * Remove stale comment * Migrate to use paper-material-styles (#1170) * Send parsed date to history/logbook (#1171) * Fork app storage behavior (#1172) * Add paper input with type time (#1173) * Fix authorize * Lint * Sort imports * Lint * Remove eslint-html * Do not lint authorize.html * Fix polymer lint * Try chrome 62 for wct * P3: Add patched iconset (#1175) * Add patched iconset * Lint * Test with latest Chrome again * Use less window.hassUtil * Teporarily use my fecha fork * Import correct intl.messageFormat * Update wct-browser-legacy to 1.0.0 * Include polyfill in right place * Fix IntlMessageFormat * Fix test not having a global scope * Rollup <_< * Fork app-localize-behavior * Disable wct tests * Lint
64 lines
1.7 KiB
Python
Executable File
64 lines
1.7 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""Download the latest Polymer v1 iconset for materialdesignicons.com."""
|
|
import os
|
|
import re
|
|
import sys
|
|
import urllib.request
|
|
|
|
GETTING_STARTED_URL = ('https://raw.githubusercontent.com/Templarian/'
|
|
'MaterialDesign/master/site/getting-started.savvy')
|
|
DOWNLOAD_LINK = re.compile(r'(/api/download/polymer/v1/([A-Z0-9-]{36}))')
|
|
START_ICONSET = '<iron-iconset-svg'
|
|
|
|
OUTPUT_BASE = 'hass_frontend'
|
|
ICONSET_OUTPUT = os.path.join(OUTPUT_BASE, 'mdi.html')
|
|
|
|
|
|
def get_text(url):
|
|
with urllib.request.urlopen(url) as f:
|
|
return f.read().decode('utf-8')
|
|
|
|
|
|
def get_remote_version():
|
|
"""Get current version and download link."""
|
|
gs_page = get_text(GETTING_STARTED_URL)
|
|
|
|
mdi_download = re.search(DOWNLOAD_LINK, gs_page)
|
|
|
|
if not mdi_download:
|
|
print("Unable to find download link")
|
|
sys.exit()
|
|
|
|
return 'https://materialdesignicons.com' + mdi_download.group(1)
|
|
|
|
|
|
def clean_component(source):
|
|
"""Clean component."""
|
|
return source[source.index(START_ICONSET):].replace('iron-iconset-svg', 'ha-iconset-svg')
|
|
|
|
|
|
def write_component(source):
|
|
"""Write component."""
|
|
with open(ICONSET_OUTPUT, 'w') as outp:
|
|
print('Writing icons to', ICONSET_OUTPUT)
|
|
outp.write(source)
|
|
|
|
|
|
def main():
|
|
"""Main section of the script."""
|
|
# All scripts should have their current work dir set to project root
|
|
if os.path.basename(os.getcwd()) == 'script':
|
|
os.chdir('..')
|
|
|
|
print("materialdesignicons.com icon updater")
|
|
|
|
remote_url = get_remote_version()
|
|
source = clean_component(get_text(remote_url))
|
|
write_component(source)
|
|
|
|
print('Updated to latest version')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|