update docs for commands, scripts

per changes regarding typer, wuttjamaican etc.
This commit is contained in:
Lance Edgar 2024-07-01 10:53:58 -05:00
parent 9fa7062f4d
commit 0838cdb93c
2 changed files with 23 additions and 19 deletions

View file

@ -25,6 +25,8 @@ Python Scripts
A "complete" sample Python script is shown below. It may be more complex than
you typically need, but hopefully not too bad; modify as you like.
(See also :doc:`wuttjamaican:narr/cli/scripts` for more simple examples.)
If you use :doc:`/data/versioning` then it is important to "postpone" most
module imports, until the config has been fully created. (Even if you don't
use versioning it's a good habit, in case you ever change your mind.) This is
@ -44,14 +46,21 @@ main function, instead of at the top of the script.
def do_something(config):
# most imports should not happen until config is made
from rattail.db import Session
from rattail.db.auth import administrator_role
app = config.get_app()
model = app.model
# open db connection
model = config.get_model()
session = Session()
session = app.make_session()
# do something...for instance count the departments
# not doing anything useful here, just an example
admin = administrator_role(session)
print(admin)
# do something else...for instance count the departments
print(session.query(model.Department).count())
# must commit session to save any changes
@ -85,10 +94,8 @@ running it would look like:
.. code-block:: sh
cd /srv/envs/poser
bin/python app/foo.py --help
bin/python3 app/foo.py --help
TODO: It seems like Rattail should have a way of generating a skeleton script
like the above.
Shell Scripts
-------------