3
0
Fork 0
Commit graph

76 commits

Author SHA1 Message Date
Lance Edgar 6c8f1c973d fix: move email stuff from subpackage to module 2024-12-19 18:34:31 -06:00
Lance Edgar 902412322e fix: add is_enabled() method for email handler, to check per type
also add some more descriptive errors when email template not found,
body empty
2024-12-19 18:20:57 -06:00
Lance Edgar fa76eb6aa9 fix: force interpolation of %(here)s, %(__file__)s in config files
we were previously doing this only for the `wutta.config.include` and
`wutta.config.require` settings, and pyramid (or paste?) has been
handling certain other ones, e.g. for beaker session cache paths.

but we really need to be able to rely on this being available
"everywhere" or else it's just confusing.
2024-12-18 13:43:19 -06:00
Lance Edgar 659d7e551e fix: only read each config file once on startup 2024-12-18 12:33:17 -06:00
Lance Edgar 3585eca65b fix: add basic execution methods for batch handler
also logic for batch data files, and deletion
2024-12-15 00:45:07 -06:00
Lance Edgar a514d9cfba feat: add basic batch feature, data model and partial handler
hopefully data model is complete enough for now, but handler does not
yet have all methods, e.g. execute()
2024-12-15 00:45:07 -06:00
Lance Edgar 51accc5a93 feat: add basic db handler, for tracking counter values
more to come i'm sure, this is all i need so far
2024-12-15 00:45:05 -06:00
Lance Edgar 80a983f812 fix: add render_date(), render_datetime() methods for app handler 2024-12-12 10:00:18 -06:00
Lance Edgar c1108e3102 fix: add command for wutta make-appdir 2024-12-08 19:33:06 -06:00
Lance Edgar e1785ccfcc feat: convert all uuid fields from str to proper UUID
ugh had to rewrite alembic migrations instead of just adding a new
one..  will be good to be past this hiccup
2024-12-07 23:45:47 -06:00
Lance Edgar a9eebc682e fix: add mechanism to discover external wutta subcommands
for sake of wuttasync, e.g. `wutta import-csv`
2024-12-05 18:58:10 -06:00
Lance Edgar d95b101dbf fix: add db.util.make_topo_sortkey() function 2024-12-03 21:53:30 -06:00
Lance Edgar 028c64fc12 fix: use true UUID type for Upgrades table primary key
hopefully can use this everywhere soon but let's start slow and test
2024-11-30 19:59:59 -06:00
Lance Edgar f63028bf8e test: fix installer test to avoid actually doing anything
this one was forcibly overwriting my current web.conf and upgrade.sh
2024-11-30 16:05:38 -06:00
Lance Edgar ceeff7e911 feat: add install handler and related logic
- Mako is now a core dependency
- therefore no more 'email' extra
- add `get_install_handler()` method for app handler
- add `render_mako_template()` method for app handler
- add `resource_path()` method for app handler
- install handler thus far can:
  - confirm db connection
  - make appdir plus config/scripts:
    - wutta.conf
    - web.conf
    - upgrade.sh
  - upgrade db schema to create tables
  - from there web app can run, create admin user
- quick start docs now describe "generated code" option
2024-11-24 10:13:56 -06:00
Lance Edgar 49e77d7407 feat: add parse_bool() and parse_list() methods for config object 2024-11-23 15:33:00 -06:00
Lance Edgar 2deba45588 feat: add wutta top-level command with make-uuid subcommand
i think it only makes sense to have an "opinion" for command line
interface in this project, and we probably need more `wutta`
subcommands too but we'll see.

main motivation for this currently is to allow poser apps to define
their own CLI, in particular e.g. `poser install`
2024-11-23 11:48:28 -06:00
Lance Edgar 4c51189d41 fix: move model base class out of model subpkg
and other things, used by other packages (rattail)

otherwise when rattail imports them, the whole WJ model comes along
with it and it can interfere with sqlalchemy-continuum versioning
2024-08-30 20:30:09 -05:00
Lance Edgar 2fa82bee8c fix: add basic support for wutta-continuum data versioning/history
not much "support" per se in here, mostly some stubs to allow for
smooth operation if/when it is installed
2024-08-27 20:26:22 -05:00
Lance Edgar 2edeac0d83 fix: add common DataTestCase for use in other packages 2024-08-27 19:11:26 -05:00
Lance Edgar 7ee8398718 test: skip some tests if mako not installed
also change corresponding tox env to 'nox' to reflect its "bare-bones"
nature and not just a lack of 'db'
2024-08-26 14:34:35 -05:00
Lance Edgar 131ad88a16 feat: add basic email handler support
still no way to define "profiles" for admin in web app yet
2024-08-26 14:20:54 -05:00
Lance Edgar b401fac04f feat: add util.resource_path() function
need that now that we have configurable mako template paths
2024-08-26 10:12:52 -05:00
Lance Edgar 94868bbaa9 feat: add app handler method, get_appdir() 2024-08-25 12:33:52 -05:00
Lance Edgar 4b9db13b8f feat: add basic support for progress indicators 2024-08-24 17:19:50 -05:00
Lance Edgar 110ff69d6d feat: add table/model for app upgrades 2024-08-24 10:20:05 -05:00
Lance Edgar 1744e8706c fix: add app handler methods: get_node_title(), get_node_type() 2024-08-20 22:13:33 -05:00
Lance Edgar 9ad5dca2ad feat: add util function get_class_hierarchy() 2024-08-15 20:18:54 -05:00
Lance Edgar 08689f494f feat: add dict-like behavior to model class instances 2024-08-11 15:23:14 -05:00
Lance Edgar 1c762e5767 feat: add app handler methods save_setting(), delete_setting() 2024-08-06 18:52:34 -05:00
Lance Edgar 8068c26327 test: skip some tests for nodb scenario 2024-08-05 22:41:58 -05:00
Lance Edgar b5884ff6ca test: fix more tests for python 3.10
not sure why only that one had problems; this seems to fix
2024-08-05 22:39:45 -05:00
Lance Edgar afa3352c83 test: fix tests for AppHandler.get_version() 2024-08-05 22:25:43 -05:00
Lance Edgar 2a21e70ff1 feat: add AppHandler methods, get_distribution() and get_version() 2024-08-05 21:48:45 -05:00
Lance Edgar a38a69afa2 fix: add AuthHandler.user_is_admin() method 2024-08-05 15:08:16 -05:00
Lance Edgar 739dd285aa fix: add AppHandler.make_title() convenience method 2024-08-05 15:08:14 -05:00
Lance Edgar c424a6cd8a fix: add check_user_password() method for auth handler 2024-07-18 10:27:31 -05:00
Lance Edgar 86997397de fix: make AuthHandler.get_user() do lookups for uuid, username 2024-07-17 17:46:13 -05:00
Lance Edgar e899d06151 feat: flesh out the auth handler; add people handler
can handle the basics now: authentication, perm checks etc.
2024-07-14 23:22:11 -05:00
Lance Edgar 43ca404837 feat: add model for Person; tie to User 2024-07-14 15:47:39 -05:00
Lance Edgar 60d3fcd13b fix: add migration for auth tables
having now fixed the constraint naming convention
2024-07-14 14:45:52 -05:00
Lance Edgar b4d6cfb0ed fix: always use 'wutta' prefix for provider entry points
otherwise not all providers will be discoverable, for custom appname

also add `appname` prop for GenericHandler, AppProvider
2024-07-14 10:45:13 -05:00
Lance Edgar 639b0de8b1 feat: add basic "auth" data models: user/role/perm
not really tested yet though, other than unit tests
2024-07-13 23:29:09 -05:00
Lance Edgar ef5b13a297 fix: add AppHandler.load_object() method 2024-07-11 19:32:44 -05:00
Lance Edgar ae973881af fix: add WuttaConfig.production() method 2024-07-11 18:23:43 -05:00
Lance Edgar 375d0be638 feat: add basic data model support
wuttjamaican will provide a default data model with minimal tables;
it's assumed each custom app will extend this model with other tables
2024-07-11 12:55:55 -05:00
Lance Edgar a76cbf29e9 feat: remove legacy command system
typer is the recommended approach, but any could be used.  we have
nothing significant to offer so better to just not.
2024-07-04 14:35:29 -05:00
Lance Edgar fd76766f56 fix: use more explicit import in config constructor 2024-07-04 11:37:37 -05:00
Lance Edgar f5825e964c test: add 'nodb' test runner
ensure things work as expected if sqlalchemy is not installed
2024-07-04 08:00:42 -05:00
Lance Edgar a25712ef54 fix: let config class specify default app handler, engine maker
this avoids the need for a config subclass to use `setdefault()` hacks
to specify default app handler for instance, since that approach must
compete with config extensions who also may wish to do that.

similar concept for the engine maker; notably the rattail project
needs to override this function somewhat and we need a way to allow
for that without (re-)introducing the app handler here.
2024-07-04 07:24:07 -05:00