Dabo-based cross-platform desktop calendar applet that supports multiple database backends.
- Very simple to use, like making hand annotations on a paper calendar.
- Runs on Linux, Mac, and Windows.
- Desktop monthly GUI calendar, navigable by mouse or keyboard.
- PDF Report output. (TODO)
- User can enter static and diary entries for each day.
- Multiple database backends supported (MySQL, SQLite, PostgreSQL) (Not tested on PostgreSQL yet; other Dabo-supported backends should work, too)
- Can be used as a stand-alone application, or as a library to be imported and used in your larger application.
- Python 2.6.5 or higher
- wxPython 2.8.12.1 or higher
- Dabo 0.9.4 or higher
- Reportlab 2.1 or higher (if running PDF reports)
- PIL (if running PDF reports)
After installing and confirming the above prerequisites were installed:
cd pmcalendar
python ui.py
This will run it with an in-memory database automatically created for you.
When a day number has the focus, type:
- t: go to today
- -: go to yesterday
- +: go to tomorrow
- [: go to this day last month
- ]: go to this day next month
The arrow keys move you around in the currently displayed calendar, wrapping around the edges. Holding <ctrl> down while navigating with the arrow keys will do the following:
- <ctrl><up-or-down>: go to prior or next year, leaving cursor on the same calendar position.
- <ctrl><left-or-right>: go to prior or next month, leaving cursor on the same calendar position.
Put it in your PYTHONPATH. I have the pmcalendar package under /home/pmcnett/pmcalendar and so I add a .pth file to my /usr/local/lib/python2.6/dist-packages
directory that says /home/pmcnett/pmcalendar
.
Then use the create_tables.sql to add the required tables to your database, and add code to your application like:
from pmcalendar.ui import FrmCalendar
app = self.Application ## (in a Dabo app where self is any dObject)
con = app.dbConnection ## (whatever dConnection your app uses)
frmCalendar = FrmCalendar(self, Connection=con)
frmCalendar.show()