from babel import dates from datetime import date from pyramid.events import subscriber from pyramid.events import BeforeRender from .models import load_yaml @subscriber(BeforeRender) def add_global(event): dates.LC_TIME = event['request'].locale_name event['globals'] = { 'format_date': dates.format_date, 'format_datetime': dates.format_datetime, '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'] = []