Python Support for Jpilot, and Jpilot Support for Python
The new features (GUI, GTK2, ContactsDB) are only in the unreleased code. It won't be out until pilot-link 0.12 is out, which will be in about 4-6 weeks hopefully. Sorry! Please let me know if you want to be sent the announcement.
2004-03-28
Done tear off pages, so you can view different section at once, and added Memo support.
New screenshots - Showing most features, Embedding Jppy Contacts into jpilot, Embedding full Jppy GUI.
2004-03-27
I should get a blog at this rate :-)
Much more refactoring. Listview can show labels properly now, including the label of the 'default phone number', which was a PITA because it's based not only on the default phone setting, but also the label of that phone number. I wanted to do it cleanly, and it's done now.
Birthday handling is working, so are dates for todos.
Split up the glade files, so each application (Contacts, Tasks, etc.) are now in their own glade files.
I'm now happy with Contacts and Tasks are useful. The only thing I'm still missing is being able to press Alt-1 and Alt-2 to switch between Contacts and Tasks. Any GTK2 gurus out there?
Setuid of pilot-link has setup a Mantis bug tracker for me. Select jpilot-python from the drop-down at the top right.
New (2004-03-26)! Tasks/Todos GUI
Got the todo GUI up, and lots of fixes in general. Today was mostly Refactor Mercilessly.
I'm a big fan of Getting Things Done with my palm, so my GUI is going to be particularly suited to that way of working.
Had to write a new CellRenderer too, to deal with mx.DateTime objects. It's easily expanded to deal with other types too.
I'm using the word "Tasks", even though the backend is currently the ToDo database. Once the GUI is done, I'll begin Tasks working, if I still have copious free time.
View today's screen shot - the Tasks.
New (2004-03-25)! Read/write, improved GUI
With a jpilot patch which'll be with Judd soon, I have full two-way ContactsDB access.
The GUI is coming along well, with most contact-related things wired up again. No todo support yet. Label printing, letter mail-merge, contact printing, new entries, deleting entries, logging etc. all done.
New (2004-03-24)! Start of new-style Palm App support and the Jppy Example GUI
I've just blown a day building support for the Contacts database found on Palm T3's and TE's into jpilot-python. Note that syncing support isn't in jpilot itself yet, so this is currently one-way.
There is a screen shot showing off the GTK2/Glade GUI around jpilot-python. It's currently a read-only tool. Most of the buttons are place holders, while I port over functionality from my wxWindows version (that didn't support the new style Contacts database.)
I hope to build on top of jpilot's syncing logic, which builds on pilot-links knowledge of palm database formats and the hotsync protocol. Jpilot-python is the first layer on top of jpilot, providing a nicer programmatic interface to the databases (at that level, you don't need to worry about syncing, etc.).
jpilot-python provides things like vcard support, creating PDFs, creating LaTeX letter templates, etc.
Then on top of jpilot-python, is this MVC GTK2 GUI. I'm providing the GTK2 GUI just as an example (in fact, it's in gui/Example_GTK). I'd like to see other people write some GUIs too. Web based ones? The nice feature is all the GUIs will share exactly the same data.
Lets you run python code during the jpilot hotsync process
There is a screen shot of this.
Interactive hotsync prompt
Saturday, March 30 2002: Using pyrepl it's possible to get an INTERACTIVE hotsync prompt!
Eventually, this will let you do things like view memos and addresses interactively :-)
Useful ? Probably not. Cool ? Hell ya :-)
->> print pisock.dlp_ReadNetSyncInfo(sd)
{'hostSubnetMask': '', 'hostAddress': 'x.x.x.x', 'lanSync': 1,
'hostName': 'somewhere.com'}
->> pisock.dlp_AddSyncLogEntry(sd,"User did some Interactive stuff!\n")
->> show_one_todo(sd,10)
{'due': <DateTime object for '2002-03-26 00:00:00.00' at 80d6340>, 'complete': 1,
'description': 'Skipping', 'note': '[00-99:99 s000.... ]', 'priority': 3}
Python code can create GUI components in Jpilot
Screenshot of prototype Phone Log support.
Command line data manipulation
I've currently jp_add_todo, jp_add_event, jp_add_mail_reply_todo, jp_add_doc and jp_add_memo. More to come! (list may be out of date)
Sync with Linux and Windows at the same time
Just add a call to jpilot.proxy_sync() in your plugin_sync(). Probably requires that you be careful, don't sync the same databases in full RW mode :-) It should be fine to do Windows in a handheld to desktop direction only, for the same DBs that you wish jpilot to manage. I simply just have Windows sync things that I can't do elsewhere, such as QuickOffice and Bonsai. Note there is a mode which will let Windows write to databases in such a way as to (hopefully) not confuse jpilot.
Tested only with Network Hotsync on the Linux-Palm side. I always hotsync via ppp, so I don't know if this will work otherwise. I also don't know if it will work with USB at all, I don't have a USB palm. Can someone contact me to help test ?
Sync with Majordomo/Mailman
I manage a couple of mailing lists for some not very computer literate people. I found the easiest way to manage who is subscribed and who isn't was to keep that info in my palms address book, along with the rest of their details.
Mutt integration
You can configure mutt such that a single keypress will make a Todo in jpilot/palm to remind you to action the mail!
You can keep a mutt alias file up to date with your palm.
Create PDFs
Create a PDF file for each contact with their details.
Mail merge
Easily write LaTeX based letters to your contacts.
Mail yourself memos
Can't hotsync from your location, but want to add some text from a web page to your palm ? Just mail it yourself, and procmail/jp_add_memo can add it to your palm next time you sync when you get back home! Supports Memo32DB.
Downloads
- jpilot-Python-0.0.21.tar.gz (Sunday, July 27 2003)
- Needs GTK1 jpilot
- Added --with-pisock-includes
- Added PDF creator for lists of todos
- Added a test suite (run Make test after building)
- Support for swig 1.3
- Removed some debugging printfs that were left in
- Fixed a bug where the C code changed a (supposedly) immutable python string
- fix the problem with libplugin.h not being found
- jpilot-Python-0.0.20.tar.gz (Sunday, June 22 2003)
- Added (untested) support for plugin_pre_sync_pre_connect()
- Fix for bug setting categories on records to a low category, once they have been in a high category.
- Fix a warning message
- Support in proxy_sync for even more situations
- Proxy_sync works standalone now, without jpilot
- Unicode support!
- jpilot-Python-0.0.18.tar.gz (Sunday, February 16 2003)
- Now compatible with CVS jpilot again
- jpilot-Python-0.0.17.tar.gz (Saturday, February 15 2003)
- Fixed: lastname and firstname was transposed upon saving new records
- Improved: bugzilla conduit can now grab data from multiple bugzilla profiles
- Fixed: couple of bugzilla conduit bugs
- Improved: allow python code to force a record to be undirty
- Improved: jp_add_todo can now accept a string argument for the category
- Improved: contact (address book) records now have an .email and .mobile attribute, which returns the data most likely to be an email address or mobile phone number for that person
- Improved: Added vCard export to contacts (address book) support
- Added: CSV exporter conduit
- Improved: Added plugin_setup() support, for doing work long before a sync starts
- jpilot-Python-0.0.16.tar.gz (Saturday, October 05 2002)
- Warning: Requires CVS version of jpilot (how?), or (untested) 0.99.3
- Improved logging
- Added jp_add_doc tool
- Put Memo32 support back in jp_add_memo
- Fixed setting datestamp-type attributes
- New conduits:
- Bugzilla (MySQL) to Todo list (one way)
- jpilot-Python-0.0.15.tar.gz (Tuesday, October 1 2002)
- Warning: Requires CVS version of jpilot (how?)
- Removed majordomo conduit dependency on prc.py
- Created an example script to show how to import a bunch of contacts from a text file
- jpilot-Python-0.0.14.tar.gz (Monday, September 30 2002) (no longer available)
- Warning: Requires CVS version of jpilot (how?)
- New conduits:
- Palm to Mutt Alias file for groups (one way)
- Majordomo (one way)
- Memo directory (keeps all your memos in a normal directory full of text files) (two way)
- Standardised the API for Memos, Todos, Addresses.
- Moved lots to C for speed
- Fixed the proxy sync conduit to work with HotSync 4.x
- Fixes to build with latest jpilot and pilot-link libraries
- Print support for contacts (creates PDFs)
- Mail merge for contacts (creates LaTeX letter template for you)
- Support for Memo32 and Mañana
- jpilot-Python-0.0.11.tar.gz (Tuesday, June 25 2002)
- Adds support for Memo32DB
- Adds support for MemoDB
- Fixes segfault when reading databases with < 2 records
- jpilot-Python-0.0.9.tar.gz (Friday, June 21 2002)
- jpilot-Python-0.0.8.tar.gz (Monday, June 10 2002)
- jpilot-Python-0.0.7.tar.gz (Sunday, June 09 2002)
- jpilot-Python-0.0.6.tar.gz (Saturday, April 27 2002)
- jpilot-Python-0.0.5.tar.gz (Thursday, April 25 2002)
- jpilot-Python-0.0.1.tar.gz
If you're using this...
I used to recommend that you also snag python-libpisock to help you do something useful, but there is a newer version of that binding in the offical pilot-link distribution these days. Unless python-libpisock available from www.pyrite.org is updated, it will not work with current pilot-link (as of python-libpisock-0.9.5.1).
![The Website of Nicholas Piper [14.08203125]](./maintitle.gif)