In an effort to increase code reuse between Chandler and other
scripts, I have migrated certain pieces of code out of Chandler.py
and application/Application.py into application/Utility.py (if you
have a better name for this, please let me know). This means other
scripts now can run the exact same implementations for:
- examining command line arguments and environment variables
- opening the repository
- checking the schema version
- loading parcels
- creating the profile directory
- starting and stopping twisted and the wakeup callers
The immediate benefit of this was that it became pretty simple to
write a "headless" (no GUI) version of Chandler which does all those
things in the above list, and then presents the user with an
interactive python shell. Exiting the shell then shuts down twisted,
commits the repository, and exits the script. The script is in tools/
headless.py (just run it with via RunPython tools/headless.py); once
it drops you into a python shell, type "readme()" for more info.
There are some fun commands for examining the repository like a
filesystem, with cd( ) and ls( ) for moving around and browsing, show
( ) to get details on an item, or grab( ) to get a reference to an item.
~morgen
P.S. Known bugs in headless mode: Wakeupcallers don't seem to fire
until the *second* time you run the script; and the 'inbound' parcel
(RSS reader) doesn't quite work yet. I should have those fixed soon
though.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev