feat: initial code, as generated by Rattail Demo site

https://demo.rattailproject.org/generated-projects/new/wutta
This commit is contained in:
Lance Edgar 2024-11-24 13:37:43 -06:00
commit 9f17ac40d0
22 changed files with 345 additions and 0 deletions

View file

28
wuttademo/web/app.py Normal file
View file

@ -0,0 +1,28 @@
# -*- coding: utf-8; -*-
"""
Wutta Demo web app
"""
from wuttaweb import app as base
def main(global_config, **settings):
"""
This function returns a Pyramid WSGI application.
"""
# prefer Wutta Demo templates over wuttaweb
settings.setdefault('mako.directories', [
'wuttademo.web:templates',
'wuttaweb:templates',
])
# make config objects
wutta_config = base.make_wutta_config(settings)
pyramid_config = base.make_pyramid_config(settings)
# bring in the rest of Wutta Demo
pyramid_config.include('wuttademo.web.static')
pyramid_config.include('wuttademo.web.subscribers')
pyramid_config.include('wuttademo.web.views')
return pyramid_config.make_wsgi_app()

26
wuttademo/web/menus.py Normal file
View file

@ -0,0 +1,26 @@
# -*- coding: utf-8; -*-
"""
Wutta Demo Menu
"""
from wuttaweb import menus as base
class WuttaDemoMenuHandler(base.MenuHandler):
"""
Wutta Demo menu handler
"""
def make_menus(self, request, **kwargs):
# TODO: override this if you need custom menus...
# menus = [
# self.make_products_menu(request),
# self.make_admin_menu(request),
# ]
# ...but for now this uses default menus
menus = super().make_menus(request, **kwargs)
return menus

View file

@ -0,0 +1,22 @@
# -*- coding: utf-8; -*-
"""
Static assets
"""
# from fanstatic import Library, Resource
# # libcache
# libcache = Library('wuttademo_libcache', 'libcache')
# bb_vue_js = Resource(libcache, 'vue.esm-browser-3.3.11.prod.js')
# bb_oruga_js = Resource(libcache, 'oruga-0.8.10.js')
# bb_oruga_bulma_js = Resource(libcache, 'oruga-bulma-0.3.0.js')
# bb_oruga_bulma_css = Resource(libcache, 'oruga-bulma-0.3.0.css')
# bb_fontawesome_svg_core_js = Resource(libcache, 'fontawesome-svg-core-6.5.2.js')
# bb_free_solid_svg_icons_js = Resource(libcache, 'free-solid-svg-icons-6.5.2.js')
# bb_vue_fontawesome_js = Resource(libcache, 'vue-fontawesome-3.0.6.index.es.js')
def includeme(config):
config.include('wuttaweb.static')
config.add_static_view('wuttademo', 'wuttademo.web:static', cache_max_age=3600)

View file

@ -0,0 +1,2 @@
Place files in this folder, which correspond to the Resource()
definitions found in `wuttademo/web/static/__init__.py`

View file

@ -0,0 +1,16 @@
# -*- coding: utf-8; -*-
"""
Pyramid event subscribers
"""
import wuttademo
def add_wuttademo_to_context(event):
renderer_globals = event
renderer_globals['wuttademo'] = wuttademo
def includeme(config):
config.include('wuttaweb.subscribers')
config.add_subscriber(add_wuttademo_to_context, 'pyramid.events.BeforeRender')

View file

@ -0,0 +1,17 @@
## -*- coding: utf-8; mode: html; -*-
<%inherit file="wuttaweb:templates/base_meta.mako" />
## TODO: you can override parent template as needed below, or you
## can simply delete this file if no customizations are needed
<%def name="favicon()">
${parent.favicon()}
</%def>
<%def name="header_logo()">
${parent.header_logo()}
</%def>
<%def name="footer()">
${parent.footer()}
</%def>

View file

@ -0,0 +1,13 @@
# -*- coding: utf-8; -*-
"""
Wutta Demo Views
"""
def includeme(config):
# core views for wuttaweb
config.include('wuttaweb.views.essential')
# TODO: include your own views here
#config.include('wuttademo.web.views.widgets')