37 lines
858 B
Python
37 lines
858 B
Python
from babel import dates
|
|
from datetime import date
|
|
from functools import partial
|
|
|
|
from pyramid.events import subscriber
|
|
from pyramid.events import BeforeRender
|
|
|
|
from .models import load_yaml
|
|
|
|
|
|
@subscriber(BeforeRender)
|
|
def add_global(event):
|
|
event['globals'] = {
|
|
'format_date':
|
|
partial(dates.format_date, locale=event['request'].locale_name),
|
|
'format_datetime':
|
|
partial(dates.format_datetime, locale=event['request'].locale_name),
|
|
'today':
|
|
date.today(),
|
|
}
|
|
|
|
|
|
@subscriber(BeforeRender)
|
|
def add_data(event):
|
|
try:
|
|
event['data'] = load_yaml('globals.yaml', True)
|
|
except FileNotFoundError:
|
|
event['data'] = {}
|
|
|
|
|
|
@subscriber(BeforeRender)
|
|
def add_menu(event):
|
|
try:
|
|
event['menu'] = load_yaml('menu/default.yaml', True)
|
|
except FileNotFoundError:
|
|
event['menu'] = []
|