Skip to content

Commit

Permalink
Hash dashboard resources
Browse files Browse the repository at this point in the history
  • Loading branch information
OttoWinter committed Dec 24, 2018
1 parent 5a7b66e commit 6aac419
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 17 deletions.
25 changes: 23 additions & 2 deletions esphomeyaml/dashboard/dashboard.py
Expand Up @@ -296,7 +296,8 @@ def get(self):
'https://esphomelib.com/esphomeyaml/'

self.render("templates/index.html", entries=entries,
version=version, begin=begin, docs_link=docs_link)
version=version, begin=begin, docs_link=docs_link,
get_static_file_url=get_static_file_url)


def _ping_func(filename, address):
Expand Down Expand Up @@ -413,7 +414,8 @@ def render_hassio_login(self, error=None):
docs_link = 'https://beta.esphomelib.com/esphomeyaml/' if 'b' in version else \
'https://esphomelib.com/esphomeyaml/'

self.render("templates/login.html", version=version, docs_link=docs_link, error=error)
self.render("templates/login.html", version=version, docs_link=docs_link, error=error,
get_static_file_url=get_static_file_url)

def post_hassio_login(self):
import requests
Expand Down Expand Up @@ -451,6 +453,21 @@ def post(self):
self.redirect("/")


_STATIC_FILE_HASHES = {}


def get_static_file_url(name):
static_path = os.path.join(os.path.dirname(__file__), 'static')
if name in _STATIC_FILE_HASHES:
hash_ = _STATIC_FILE_HASHES[name]
else:
path = os.path.join(static_path, name)
with open(path, 'rb') as f_handle:
hash_ = hash(f_handle.read())
_STATIC_FILE_HASHES[name] = hash_
return u'/static/{}?hash={}'.format(name, hash_)


def make_app(debug=False):
def log_function(handler):
if handler.get_status() < 400:
Expand Down Expand Up @@ -493,6 +510,10 @@ def set_extra_headers(self, path):
(r"/wizard.html", WizardRequestHandler),
(r'/static/(.*)', StaticFileHandler, {'path': static_path}),
], debug=debug, cookie_secret=COOKIE_SECRET, log_function=log_function)

if debug:
_STATIC_FILE_HASHES.clear()

return app


Expand Down
22 changes: 11 additions & 11 deletions esphomeyaml/dashboard/templates/index.html
Expand Up @@ -4,17 +4,17 @@
<meta charset="UTF-8">
<title>ESPHome Dashboard</title>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/static/materialize.min.css?v=1">
<link rel="stylesheet" href="/static/materialize-stepper.min.css?v=1">
<link rel="stylesheet" href="/static/esphomeyaml.css?v=1">
<link rel="shortcut icon" href="/static/favicon.ico?v=1">
<link rel="stylesheet" href="{{ get_static_file_url('materialize.min.css') }}">
<link rel="stylesheet" href="{{ get_static_file_url('materialize-stepper.min.css') }}">
<link rel="stylesheet" href="{{ get_static_file_url('esphomeyaml.css') }}">
<link rel="shortcut icon" href="{{ get_static_file_url('favicon.ico') }}">

<script src="/static/jquery.min.js?v=1"></script>
<script src="/static/jquery-ui.min.js?v=1"></script>
<script src="/static/materialize.min.js?v=1"></script>
<script src="/static/jquery.validate.min.js?v=1"></script>
<script src="{{ get_static_file_url('jquery.min.js') }}"></script>
<script src="{{ get_static_file_url('jquery-ui.min.js') }}"></script>
<script src="{{ get_static_file_url('materialize.min.js') }}"></script>
<script src="{{ get_static_file_url('jquery.validate.min.js') }}"></script>

<script src="/static/materialize-stepper.min.js?v=1"></script>
<script src="{{ get_static_file_url('materialize-stepper.min.js') }}"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head>
<body>
Expand Down Expand Up @@ -469,8 +469,8 @@ <h5>Set up your first Node</h5>
</div>
</footer>

<script src="/static/ace.js?v=1" type="text/javascript" charset="utf-8"></script>
<script src="/static/esphomeyaml.js?v=1" type="text/javascript"></script>
<script src="{{ get_static_file_url('ace.js') }}" type="text/javascript" charset="utf-8"></script>
<script src="{{ get_static_file_url('esphomeyaml.js') }}" type="text/javascript"></script>

{% if len(entries) == 0 %}
<script>
Expand Down
8 changes: 4 additions & 4 deletions esphomeyaml/dashboard/templates/login.html
Expand Up @@ -4,11 +4,11 @@
<meta charset="UTF-8">
<title>esphomeyaml Dashboard</title>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/static/materialize.min.css?v=1">
<link rel="stylesheet" href="/static/esphomeyaml.css?v=1">
<link rel="shortcut icon" href="/static/favicon.ico?v=1">
<link rel="stylesheet" href="{{ get_static_file_url('materialize.min.css') }}">
<link rel="stylesheet" href="{{ get_static_file_url('esphomeyaml.css') }}">
<link rel="shortcut icon" href="{{ get_static_file_url('favicon.ico') }}">

<script src="/static/materialize.min.js?v=1"></script>
<script src="{{ get_static_file_url('materialize.min.js') }}"></script>

<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head>
Expand Down

0 comments on commit 6aac419

Please sign in to comment.