Compare commits
5 commits
Author | SHA1 | Date | |
---|---|---|---|
067b30e1af | |||
c0ff89fec3 | |||
0c4fa7ad06 | |||
fbb3d0b6c8 | |||
![]() |
a82d729246 |
16 changed files with 87 additions and 55 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
||||||
*.pyc
|
*.pyc
|
||||||
|
dist/
|
||||||
Wutta_Demo.egg-info/
|
Wutta_Demo.egg-info/
|
||||||
|
|
|
@ -2,3 +2,5 @@
|
||||||
# Wutta Demo
|
# Wutta Demo
|
||||||
|
|
||||||
This is a starter Python project.
|
This is a starter Python project.
|
||||||
|
|
||||||
|
[](https://github.com/psf/black)
|
||||||
|
|
|
@ -31,11 +31,12 @@ dependencies = [
|
||||||
[project.scripts]
|
[project.scripts]
|
||||||
wuttademo = "wuttademo.commands:wuttademo_typer"
|
wuttademo = "wuttademo.commands:wuttademo_typer"
|
||||||
|
|
||||||
|
[project.entry-points."fanstatic.libraries"]
|
||||||
|
wuttademo_libcache = "wuttademo.web.static:libcache"
|
||||||
|
|
||||||
[project.entry-points."wutta.config.extensions"]
|
[project.entry-points."wutta.config.extensions"]
|
||||||
"wuttademo" = "wuttademo.config:WuttaDemoConfig"
|
"wuttademo" = "wuttademo.config:WuttaDemoConfig"
|
||||||
|
|
||||||
|
|
||||||
[project.entry-points."paste.app_factory"]
|
[project.entry-points."paste.app_factory"]
|
||||||
"main" = "wuttademo.web.app:main"
|
"main" = "wuttademo.web.app:main"
|
||||||
|
|
||||||
|
|
|
@ -3,4 +3,4 @@
|
||||||
from importlib.metadata import version
|
from importlib.metadata import version
|
||||||
|
|
||||||
|
|
||||||
__version__ = version('Wutta-Demo')
|
__version__ = version("Wutta-Demo")
|
||||||
|
|
|
@ -8,23 +8,22 @@ import typer
|
||||||
from wuttjamaican.cli import make_typer
|
from wuttjamaican.cli import make_typer
|
||||||
|
|
||||||
|
|
||||||
wuttademo_typer = make_typer(
|
wuttademo_typer = make_typer(name="wuttademo", help="Wutta Demo -- ")
|
||||||
name='wuttademo',
|
|
||||||
help="Wutta Demo -- "
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@wuttademo_typer.command()
|
@wuttademo_typer.command()
|
||||||
def install(
|
def install(
|
||||||
ctx: typer.Context,
|
ctx: typer.Context,
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
Install the Wutta Demo app
|
Install the Wutta Demo app
|
||||||
"""
|
"""
|
||||||
config = ctx.parent.wutta_config
|
config = ctx.parent.wutta_config
|
||||||
app = config.get_app()
|
app = config.get_app()
|
||||||
install = app.get_install_handler(pkg_name='wuttademo',
|
install = app.get_install_handler(
|
||||||
app_title="Wutta Demo",
|
pkg_name="wuttademo",
|
||||||
pypi_name='Wutta-Demo',
|
app_title="Wutta Demo",
|
||||||
egg_name='Wutta_Demo')
|
pypi_name="Wutta-Demo",
|
||||||
|
egg_name="Wutta_Demo",
|
||||||
|
)
|
||||||
install.run()
|
install.run()
|
||||||
|
|
|
@ -10,20 +10,23 @@ class WuttaDemoConfig(WuttaConfigExtension):
|
||||||
"""
|
"""
|
||||||
Config extension for Wutta Demo
|
Config extension for Wutta Demo
|
||||||
"""
|
"""
|
||||||
key = 'wuttademo'
|
|
||||||
|
key = "wuttademo"
|
||||||
|
|
||||||
def configure(self, config):
|
def configure(self, config):
|
||||||
|
|
||||||
# app info
|
# app info
|
||||||
config.setdefault(f'{config.appname}.app_title', "Wutta Demo")
|
config.setdefault(f"{config.appname}.app_title", "Wutta Demo")
|
||||||
config.setdefault(f'{config.appname}.app_dist', "Wutta-Demo")
|
config.setdefault(f"{config.appname}.app_dist", "Wutta-Demo")
|
||||||
|
|
||||||
# app model
|
# app model
|
||||||
config.setdefault(f'{config.appname}.model_spec', 'wuttademo.db.model')
|
config.setdefault(f"{config.appname}.model_spec", "wuttademo.db.model")
|
||||||
|
|
||||||
# web app menu
|
# web app menu
|
||||||
config.setdefault(f'{config.appname}.web.menus.handler_spec',
|
config.setdefault(
|
||||||
'wuttademo.web.menus:WuttaDemoMenuHandler')
|
f"{config.appname}.web.menus.handler_spec",
|
||||||
|
"wuttademo.web.menus:WuttaDemoMenuHandler",
|
||||||
|
)
|
||||||
|
|
||||||
# web app libcache
|
# web app libcache
|
||||||
#config.setdefault('tailbone.static_libcache.module', 'wuttademo.web.static')
|
config.setdefault("wuttaweb.static_libcache.module", "wuttademo.web.static")
|
||||||
|
|
|
@ -8,21 +8,38 @@ from wuttaweb import app as base
|
||||||
|
|
||||||
def main(global_config, **settings):
|
def main(global_config, **settings):
|
||||||
"""
|
"""
|
||||||
This function returns a Pyramid WSGI application.
|
Make and return the WSGI application, per given settings.
|
||||||
"""
|
"""
|
||||||
# prefer Wutta Demo templates over wuttaweb
|
# prefer Wutta Demo templates over wuttaweb
|
||||||
settings.setdefault('mako.directories', [
|
settings.setdefault(
|
||||||
'wuttademo.web:templates',
|
"mako.directories",
|
||||||
'wuttaweb:templates',
|
[
|
||||||
])
|
"wuttademo.web:templates",
|
||||||
|
"wuttaweb:templates",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
# make config objects
|
# make config objects
|
||||||
wutta_config = base.make_wutta_config(settings)
|
wutta_config = base.make_wutta_config(settings)
|
||||||
pyramid_config = base.make_pyramid_config(settings)
|
pyramid_config = base.make_pyramid_config(settings)
|
||||||
|
|
||||||
# bring in the rest of Wutta Demo
|
# bring in the rest of Wutta Demo
|
||||||
pyramid_config.include('wuttademo.web.static')
|
pyramid_config.include("wuttaweb.static")
|
||||||
pyramid_config.include('wuttademo.web.subscribers')
|
pyramid_config.include("wuttademo.web.subscribers")
|
||||||
pyramid_config.include('wuttademo.web.views')
|
pyramid_config.include("wuttademo.web.views")
|
||||||
|
|
||||||
return pyramid_config.make_wsgi_app()
|
return pyramid_config.make_wsgi_app()
|
||||||
|
|
||||||
|
|
||||||
|
def make_wsgi_app():
|
||||||
|
"""
|
||||||
|
Make and return the WSGI app.
|
||||||
|
"""
|
||||||
|
return base.make_wsgi_app(main)
|
||||||
|
|
||||||
|
|
||||||
|
def make_asgi_app():
|
||||||
|
"""
|
||||||
|
Make and return the ASGI app.
|
||||||
|
"""
|
||||||
|
return base.make_asgi_app(main)
|
||||||
|
|
|
@ -3,11 +3,16 @@
|
||||||
Static assets
|
Static assets
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# from fanstatic import Library, Resource
|
from fanstatic import Library, Resource
|
||||||
|
|
||||||
|
|
||||||
# # libcache
|
# fanstatic libcache
|
||||||
# libcache = Library('wuttademo_libcache', 'libcache')
|
libcache = Library("wuttademo_libcache", "libcache")
|
||||||
|
vue_js = Resource(libcache, "vue-2.6.14.min.js")
|
||||||
|
vue_resource_js = Resource(libcache, "vue-resource-1.5.3.min.js")
|
||||||
|
buefy_js = Resource(libcache, "buefy-0.9.25.min.js")
|
||||||
|
buefy_css = Resource(libcache, "buefy-0.9.25.min.css")
|
||||||
|
fontawesome_js = Resource(libcache, "fontawesome-5.3.1-all.min.js")
|
||||||
# bb_vue_js = Resource(libcache, 'vue.esm-browser-3.3.11.prod.js')
|
# 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_js = Resource(libcache, 'oruga-0.8.10.js')
|
||||||
# bb_oruga_bulma_js = Resource(libcache, 'oruga-bulma-0.3.0.js')
|
# bb_oruga_bulma_js = Resource(libcache, 'oruga-bulma-0.3.0.js')
|
||||||
|
@ -15,8 +20,3 @@ Static assets
|
||||||
# bb_fontawesome_svg_core_js = Resource(libcache, 'fontawesome-svg-core-6.5.2.js')
|
# 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_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')
|
# 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)
|
|
||||||
|
|
1
src/wuttademo/web/static/libcache/buefy-0.9.25.min.css
vendored
Normal file
1
src/wuttademo/web/static/libcache/buefy-0.9.25.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2
src/wuttademo/web/static/libcache/buefy-0.9.25.min.js
vendored
Normal file
2
src/wuttademo/web/static/libcache/buefy-0.9.25.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
5
src/wuttademo/web/static/libcache/fontawesome-5.3.1-all.min.js
vendored
Normal file
5
src/wuttademo/web/static/libcache/fontawesome-5.3.1-all.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
src/wuttademo/web/static/libcache/vue-2.6.14.min.js
vendored
Normal file
6
src/wuttademo/web/static/libcache/vue-2.6.14.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
7
src/wuttademo/web/static/libcache/vue-resource-1.5.3.min.js
vendored
Normal file
7
src/wuttademo/web/static/libcache/vue-resource-1.5.3.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -8,9 +8,9 @@ import wuttademo
|
||||||
|
|
||||||
def add_wuttademo_to_context(event):
|
def add_wuttademo_to_context(event):
|
||||||
renderer_globals = event
|
renderer_globals = event
|
||||||
renderer_globals['wuttademo'] = wuttademo
|
renderer_globals["wuttademo"] = wuttademo
|
||||||
|
|
||||||
|
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
config.include('wuttaweb.subscribers')
|
config.include("wuttaweb.subscribers")
|
||||||
config.add_subscriber(add_wuttademo_to_context, 'pyramid.events.BeforeRender')
|
config.add_subscriber(add_wuttademo_to_context, "pyramid.events.BeforeRender")
|
||||||
|
|
|
@ -7,7 +7,7 @@ Wutta Demo Views
|
||||||
def includeme(config):
|
def includeme(config):
|
||||||
|
|
||||||
# core views for wuttaweb
|
# core views for wuttaweb
|
||||||
config.include('wuttaweb.views.essential')
|
config.include("wuttaweb.views.essential")
|
||||||
|
|
||||||
# TODO: include your own views here
|
# TODO: include your own views here
|
||||||
#config.include('wuttademo.web.views.widgets')
|
# config.include('wuttademo.web.views.widgets')
|
||||||
|
|
20
tasks.py
20
tasks.py
|
@ -9,25 +9,13 @@ import shutil
|
||||||
from invoke import task
|
from invoke import task
|
||||||
|
|
||||||
|
|
||||||
here = os.path.abspath(os.path.dirname(__file__))
|
|
||||||
exec(open(os.path.join(here, 'wuttademo', '_version.py')).read())
|
|
||||||
|
|
||||||
|
|
||||||
@task
|
@task
|
||||||
def release(c):
|
def release(c):
|
||||||
"""
|
"""
|
||||||
Release a new version of Wutta Demo
|
Release a new version of Wutta Demo
|
||||||
"""
|
"""
|
||||||
# rebuild local tar.gz file for distribution
|
if os.path.exists("dist"):
|
||||||
if os.path.exists('Wutta_Demo.egg-info'):
|
shutil.rmtree("dist")
|
||||||
shutil.rmtree('Wutta_Demo.egg-info')
|
|
||||||
c.run('python -m build --sdist')
|
|
||||||
|
|
||||||
# filename of built package
|
c.run("python -m build --sdist")
|
||||||
filename = 'Wutta-Demo-{}.tar.gz'.format(__version__)
|
c.run("twine upload dist/*")
|
||||||
|
|
||||||
# TODO: uncomment and update these details, to upload to private PyPI
|
|
||||||
#c.run('scp dist/{} rattail@pypi.example.com:/srv/pypi/wuttademo/'.format(filename))
|
|
||||||
|
|
||||||
# TODO: or, uncomment this to upload to *public* PyPI
|
|
||||||
#c.run('twine upload dist/{}'.format(filename))
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue