3
0
Fork 0
Commit graph

49 commits

Author SHA1 Message Date
a779be4a81 test: update deprecated method call 2025-12-17 10:06:43 -06:00
0ffc72f766 feat: add "complete" timezone support
at least for now, this is all we need i think..  if nothing
configured, will fallback to default system local timezone.  or can
configure the default, or alternate(s) as needed.

some day when we drop support for python 3.8, can also remove the
python-dateutil dependency..
2025-12-16 22:44:27 -06:00
dac91406c7 feat: add localtime() function, app method 2025-12-15 22:06:04 -06:00
a5d641d5bc feat: drop timezone, assume UTC for all datetime values in DB
i guess it was worth a try, but preserving system timezone was doomed
to failure since only postgres actually supports it.  from now on all
DateTime columns will be naive, but understood / assumed to be
UTC-local
2025-12-15 16:25:09 -06:00
900937826c feat: add make_utc() function, app method
as prep for dropping timezone from DB columns
2025-12-15 14:04:26 -06:00
101dbdc96b feat: use bcrypt directly instead of passlib
apparently passlib has not been updated in years, and the combo with
latest bcrypt v5 was causing errors

https://github.com/pyca/bcrypt/issues/1082
https://github.com/pyca/bcrypt/issues/1079
https://foss.heptapod.net/python-libs/passlib/-/issues/196
2025-10-19 12:58:34 -05:00
a6bb538ce9 fix: format all code with black
and from now on should not deviate from that...
2025-08-30 21:25:44 -05:00
f86aeff788 fix: fix 'duplicate-code' for pylint 2025-08-30 20:11:10 -05:00
2fcff6b2a4 fix: fix 'inconsistent-return-statements' for pylint 2025-08-30 16:36:52 -05:00
7550a7a860 feat: add problem checks + handler feature
the basic idea is to run nightly checks and send email if problems are
found.  it should also support variations on that theme,
e.g. configuring a check to only run on certain weekdays.
2025-08-10 11:07:30 -05:00
7608121b37 fix: return empty string instead of None when rendering date/time 2025-01-15 17:00:02 -06:00
a302f323af fix: add get_batch_handler() method for app handler
also `get_batch_handler_specs()`
2025-01-13 12:33:13 -06:00
a9d2f32e40 fix: add render_percent() method for app handler 2025-01-11 19:08:34 -06:00
20d4d4d93f feat: add basic support for "reports" feature
not much here yet, but trying to keep it lean and unopinionated since
implementations will probably vary a bit
2025-01-11 19:04:30 -06:00
60a25ab342 fix: add make_full_name() function, app handler method 2025-01-06 16:36:27 -06:00
6d16aa0c02 fix: add render_boolean, render_quantity app handler methods 2025-01-06 16:36:02 -06:00
9c1bfee97f fix: add simple rendering logic for currency values and errors 2024-12-28 20:10:37 -06:00
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
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
80a983f812 fix: add render_date(), render_datetime() methods for app handler 2024-12-12 10:00:18 -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
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
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
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
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
739dd285aa fix: add AppHandler.make_title() convenience method 2024-08-05 15:08:14 -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
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
ef5b13a297 fix: add AppHandler.load_object() method 2024-07-11 19:32:44 -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
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
c3efbfbf7b fix: ensure config has no app when constructor finishes
had to move `make_engine_from_config()` out of app handler and define
as a separate function, so that `get_engines()` did not need to
instantiate the app handler.  because if it did, then config
extensions would lose the ability to set a default app handler - er,
they could do it but it would be ignored
2024-07-04 06:21:38 -05:00
Lance Edgar
a552e6c471 Raise AttributeError if no app provider has it
whoops, super().__getattr__() is not really defined
2024-05-15 14:22:45 -05:00
Lance Edgar
d73ff274df Add generic handler base class, tests, docs 2023-11-25 16:28:37 -06:00
Lance Edgar
3a8bd1fce9 Add app providers, tests, docs 2023-11-24 23:11:26 -06:00
Lance Edgar
af4c28b286 Add a large chunk of the docs for command line interface
will have to finish subcommands later
2023-11-22 21:40:26 -06:00
Lance Edgar
13472a5ab5 Add wutta make-appdir subcommand 2023-11-22 00:10:40 -06:00
Lance Edgar
b458272207 Add make_engine_from_config() method for AppHandler
and other misc. tweaks needed to get this incorporated into Rattail
2023-11-19 20:36:51 -06:00
Lance Edgar
5c3c42d6b3 First commit, basic config (with db) and app handler
this has 100% test coverage and i intend to keep it that way.  api
docs have a good start but still need narrative.  several more things
must be added before i can seriously consider incorporating into
rattail but this seemed a good save point
2023-10-28 17:50:13 -05:00