diff --git a/grip/app.py b/grip/app.py index a930dc8..46c18c7 100644 --- a/grip/app.py +++ b/grip/app.py @@ -128,7 +128,8 @@ def __init__(self, source=None, auth=None, renderer=None, rate_limit_route = posixpath.join(grip_url, 'rate-limit-preview') # Initialize views - self.before_first_request(self._retrieve_styles) + self._styles_retrieved = False + self.before_request(self._retrieve_styles) self.add_url_rule(asset_route, 'asset', self._render_asset) self.add_url_rule(asset_subpath, 'asset', self._render_asset) self.add_url_rule('/', 'render', self._render_page) @@ -310,6 +311,10 @@ def _retrieve_styles(self): Retrieves the style URLs from the source and caches them. This is called before the first request is dispatched. """ + if self._styles_retrieved: + return + self._styles_retrieved = True + try: self.assets.retrieve_styles(url_for('asset')) except Exception as ex: