Source code for flask_favicon.flask_integration
import os
import warnings
from flask import g, url_for
[docs]
def use_favicon(favicon_name):
'''
Function decorator to override the default favicon on a specific route.
:param favicon_name: The identifier of the favicon to be used.
:type favicon_name: str
'''
def decorator(fn):
def wrapper(*args, **kwargs):
if favicon_name not in g._flask_favicon.icon_registry.keys():
warnings.warn(
'Warning: The "{}" favicon was not registered during '
'flask-favicon initialization.'.format(favicon_name))
else:
g._flask_favicon.active_icon = g._flask_favicon.icon_registry[favicon_name]
return fn(*args, **kwargs)
return wrapper
return decorator
def favicon_url_for(filename=None):
filename = filename or 'favicon.ico'
filename = os.path.normpath(os.path.join(
g._flask_favicon.active_icon.favicon_name, filename))
return url_for('flask-favicon.static', filename=filename)