update docs for commands, scripts
per changes regarding typer, wuttjamaican etc.
This commit is contained in:
parent
9fa7062f4d
commit
0838cdb93c
2 changed files with 23 additions and 19 deletions
|
|
@ -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
|
||||
-------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue