<?xml version="1.0"?>
<statsTarget><link>http://cia.vc/stats/project/pykota</link><counters><counter name="forever" lastEventTime="1295382538" firstEventTime="1090623127">1825</counter></counters><metadata><item name="subtitle"><value type="text/plain">Print Accounting</value></item><item name="description"><value type="text/plain">PyKota is a complete print accounting and print quota solution for CUPS print servers.</value></item><item name="links-filter"><value type="text/plain">None</value></item><item name="title"><value type="text/plain">PyKota</value></item><item name="url"><value type="text/plain">http://www.pykota.com</value></item><item name="related-filter"><value type="text/plain">None</value></item></metadata><recentMessages><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3554</revision><author>jerome</author><log>Fixed a character encoding problem.  </log><diffLines>15</diffLines><files><file action="modify">pykota/trunk/bin/cupspykota</file></files></commit></body><timestamp>1295382537</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3553</revision><author>jerome</author><log>When dumping datas in CSV, we now completely ignore I/O errors which are
often caused by things like &quot;dumpykota --data history | head&quot;.  </log><diffLines>50</diffLines><files><file action="modify">pykota/trunk/pykota/dumper.py</file></files></commit></body><timestamp>1289862049</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3552</revision><author>jerome</author><log>Fixes a strange case where the job's originating user name is not found
in the CUPS' job ticket.  </log><diffLines>20</diffLines><files><file action="modify">pykota/trunk/pykota/cups.py</file></files></commit></body><timestamp>1289250629</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3551</revision><author>jerome</author><log>Added some documentation about the PYKOTAMAXJOBSIZE environment variable
exported from cupspykota.  </log><diffLines>14</diffLines><files><file action="modify">pykota/trunk/conf/pykota.conf.sample</file></files></commit></body><timestamp>1282104482</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3550</revision><author>jerome</author><log>Updated manual pages.  </log><diffLines>5447</diffLines><files><file action="modify">pykota/trunk/man/autopykota.1</file><file action="modify">pykota/trunk/man/de/autopykota.1</file><file action="modify">pykota/trunk/man/de/dumpykota.1</file><file action="modify">pykota/trunk/man/de/edpykota.1</file><file action="modify">pykota/trunk/man/de/pkbanner.1</file><file action="modify">pykota/trunk/man/de/pkbcodes.1</file><file action="modify">pykota/trunk/man/de/pkinvoice.1</file><file action="modify">pykota/trunk/man/de/pkprinters.1</file><file action="modify">pykota/trunk/man/de/pkrefund.1</file><file action="modify">pykota/trunk/man/de/pksetup.1</file><file action="modify">pykota/trunk/man/de/pkturnkey.1</file><file action="modify">pykota/trunk/man/de/pkusers.1</file><file action="modify">pykota/trunk/man/de/pykosd.1</file><file action="modify">pykota/trunk/man/de/pykotme.1</file><file action="modify">pykota/trunk/man/de/repykota.1</file><file action="modify">pykota/trunk/man/de/warnpykota.1</file><file action="modify">pykota/trunk/man/dumpykota.1</file><file action="modify">pykota/trunk/man/edpykota.1</file><file action="modify">pykota/trunk/man/el_GR/autopykota.1</file><file action="modify">pykota/trunk/man/el_GR/dumpykota.1</file><file action="modify">pykota/trunk/man/el_GR/edpykota.1</file><file action="modify">pykota/trunk/man/el_GR/pkbanner.1</file><file action="modify">pykota/trunk/man/el_GR/pkbcodes.1</file><file action="modify">pykota/trunk/man/el_GR/pkinvoice.1</file><file action="modify">pykota/trunk/man/el_GR/pkprinters.1</file><file action="modify">pykota/trunk/man/el_GR/pkrefund.1</file><file action="modify">pykota/trunk/man/el_GR/pksetup.1</file><file action="modify">pykota/trunk/man/el_GR/pkturnkey.1</file><file action="modify">pykota/trunk/man/el_GR/pkusers.1</file><file action="modify">pykota/trunk/man/el_GR/pykosd.1</file><file action="modify">pykota/trunk/man/el_GR/pykotme.1</file><file action="modify">pykota/trunk/man/el_GR/repykota.1</file><file action="modify">pykota/trunk/man/el_GR/warnpykota.1</file><file action="modify">pykota/trunk/man/es/autopykota.1</file><file action="modify">pykota/trunk/man/es/dumpykota.1</file><file action="modify">pykota/trunk/man/es/edpykota.1</file><file action="modify">pykota/trunk/man/es/pkbanner.1</file><file action="modify">pykota/trunk/man/es/pkbcodes.1</file><file action="modify">pykota/trunk/man/es/pkinvoice.1</file><file action="modify">pykota/trunk/man/es/pkprinters.1</file><file action="modify">pykota/trunk/man/es/pkrefund.1</file><file action="modify">pykota/trunk/man/es/pksetup.1</file><file action="modify">pykota/trunk/man/es/pkturnkey.1</file><file action="modify">pykota/trunk/man/es/pkusers.1</file><file action="modify">pykota/trunk/man/es/pykosd.1</file><file action="modify">pykota/trunk/man/es/pykotme.1</file><file action="modify">pykota/trunk/man/es/repykota.1</file><file action="modify">pykota/trunk/man/es/warnpykota.1</file><file action="modify">pykota/trunk/man/fr/autopykota.1</file><file action="modify">pykota/trunk/man/fr/dumpykota.1</file><file action="modify">pykota/trunk/man/fr/edpykota.1</file><file action="modify">pykota/trunk/man/fr/pkbanner.1</file><file action="modify">pykota/trunk/man/fr/pkbcodes.1</file><file action="modify">pykota/trunk/man/fr/pkinvoice.1</file><file action="modify">pykota/trunk/man/fr/pkprinters.1</file><file action="modify">pykota/trunk/man/fr/pkrefund.1</file><file action="modify">pykota/trunk/man/fr/pksetup.1</file><file action="modify">pykota/trunk/man/fr/pkturnkey.1</file><file action="modify">pykota/trunk/man/fr/pkusers.1</file><file action="modify">pykota/trunk/man/fr/pykosd.1</file><file action="modify">pykota/trunk/man/fr/pykotme.1</file><file action="modify">pykota/trunk/man/fr/repykota.1</file><file action="modify">pykota/trunk/man/fr/warnpykota.1</file><file action="modify">pykota/trunk/man/it/autopykota.1</file><file action="modify">pykota/trunk/man/it/dumpykota.1</file><file action="modify">pykota/trunk/man/it/edpykota.1</file><file action="modify">pykota/trunk/man/it/pkbanner.1</file><file action="modify">pykota/trunk/man/it/pkbcodes.1</file><file action="modify">pykota/trunk/man/it/pkinvoice.1</file><file action="modify">pykota/trunk/man/it/pkprinters.1</file><file action="modify">pykota/trunk/man/it/pkrefund.1</file><file action="modify">pykota/trunk/man/it/pksetup.1</file><file action="modify">pykota/trunk/man/it/pkturnkey.1</file><file action="modify">pykota/trunk/man/it/pkusers.1</file><file action="modify">pykota/trunk/man/it/pykosd.1</file><file action="modify">pykota/trunk/man/it/pykotme.1</file><file action="modify">pykota/trunk/man/it/repykota.1</file><file action="modify">pykota/trunk/man/it/warnpykota.1</file><file action="modify">pykota/trunk/man/nb_NO/autopykota.1</file><file action="modify">pykota/trunk/man/nb_NO/dumpykota.1</file><file action="modify">pykota/trunk/man/nb_NO/edpykota.1</file><file action="modify">pykota/trunk/man/nb_NO/pkbanner.1</file><file action="modify">pykota/trunk/man/nb_NO/pkbcodes.1</file><file action="modify">pykota/trunk/man/nb_NO/pkinvoice.1</file><file action="modify">pykota/trunk/man/nb_NO/pkprinters.1</file><file action="modify">pykota/trunk/man/nb_NO/pkrefund.1</file><file action="modify">pykota/trunk/man/nb_NO/pksetup.1</file><file action="modify">pykota/trunk/man/nb_NO/pkturnkey.1</file><file action="modify">pykota/trunk/man/nb_NO/pkusers.1</file><file action="modify">pykota/trunk/man/nb_NO/pykosd.1</file><file action="modify">pykota/trunk/man/nb_NO/pykotme.1</file><file action="modify">pykota/trunk/man/nb_NO/repykota.1</file><file action="modify">pykota/trunk/man/nb_NO/warnpykota.1</file><file action="modify">pykota/trunk/man/pkbanner.1</file><file action="modify">pykota/trunk/man/pkbcodes.1</file><file action="modify">pykota/trunk/man/pkinvoice.1</file><file action="modify">pykota/trunk/man/pkprinters.1</file><file action="modify">pykota/trunk/man/pkrefund.1</file><file action="modify">pykota/trunk/man/pksetup.1</file><file action="modify">pykota/trunk/man/pkturnkey.1</file><file action="modify">pykota/trunk/man/pkusers.1</file><file action="modify">pykota/trunk/man/pl/autopykota.1</file><file action="modify">pykota/trunk/man/pl/dumpykota.1</file><file action="modify">pykota/trunk/man/pl/edpykota.1</file><file action="modify">pykota/trunk/man/pl/pkbanner.1</file><file action="modify">pykota/trunk/man/pl/pkbcodes.1</file><file action="modify">pykota/trunk/man/pl/pkinvoice.1</file><file action="modify">pykota/trunk/man/pl/pkprinters.1</file><file action="modify">pykota/trunk/man/pl/pkrefund.1</file><file action="modify">pykota/trunk/man/pl/pksetup.1</file><file action="modify">pykota/trunk/man/pl/pkturnkey.1</file><file action="modify">pykota/trunk/man/pl/pkusers.1</file><file action="modify">pykota/trunk/man/pl/pykosd.1</file><file action="modify">pykota/trunk/man/pl/pykotme.1</file><file action="modify">pykota/trunk/man/pl/repykota.1</file><file action="modify">pykota/trunk/man/pl/warnpykota.1</file><file action="modify">pykota/trunk/man/pt/autopykota.1</file><file action="modify">pykota/trunk/man/pt/dumpykota.1</file><file action="modify">pykota/trunk/man/pt/edpykota.1</file><file action="modify">pykota/trunk/man/pt/pkbanner.1</file><file action="modify">pykota/trunk/man/pt/pkbcodes.1</file><file action="modify">pykota/trunk/man/pt/pkinvoice.1</file><file action="modify">pykota/trunk/man/pt/pkprinters.1</file><file action="modify">pykota/trunk/man/pt/pkrefund.1</file><file action="modify">pykota/trunk/man/pt/pksetup.1</file><file action="modify">pykota/trunk/man/pt/pkturnkey.1</file><file action="modify">pykota/trunk/man/pt/pkusers.1</file><file action="modify">pykota/trunk/man/pt/pykosd.1</file><file action="modify">pykota/trunk/man/pt/pykotme.1</file><file action="modify">pykota/trunk/man/pt/repykota.1</file><file action="modify">pykota/trunk/man/pt/warnpykota.1</file><file action="modify">pykota/trunk/man/pt_BR/autopykota.1</file><file action="modify">pykota/trunk/man/pt_BR/dumpykota.1</file><file action="modify">pykota/trunk/man/pt_BR/edpykota.1</file><file action="modify">pykota/trunk/man/pt_BR/pkbanner.1</file><file action="modify">pykota/trunk/man/pt_BR/pkbcodes.1</file><file action="modify">pykota/trunk/man/pt_BR/pkinvoice.1</file><file action="modify">pykota/trunk/man/pt_BR/pkprinters.1</file><file action="modify">pykota/trunk/man/pt_BR/pkrefund.1</file><file action="modify">pykota/trunk/man/pt_BR/pksetup.1</file><file action="modify">pykota/trunk/man/pt_BR/pkturnkey.1</file><file action="modify">pykota/trunk/man/pt_BR/pkusers.1</file><file action="modify">pykota/trunk/man/pt_BR/pykosd.1</file><file action="modify">pykota/trunk/man/pt_BR/pykotme.1</file><file action="modify">pykota/trunk/man/pt_BR/repykota.1</file><file action="modify">pykota/trunk/man/pt_BR/warnpykota.1</file><file action="modify">pykota/trunk/man/pykosd.1</file><file action="modify">pykota/trunk/man/pykotme.1</file><file action="modify">pykota/trunk/man/repykota.1</file><file action="modify">pykota/trunk/man/sv_SE/autopykota.1</file><file action="modify">pykota/trunk/man/sv_SE/dumpykota.1</file><file action="modify">pykota/trunk/man/sv_SE/edpykota.1</file><file action="modify">pykota/trunk/man/sv_SE/pkbanner.1</file><file action="modify">pykota/trunk/man/sv_SE/pkbcodes.1</file><file action="modify">pykota/trunk/man/sv_SE/pkinvoice.1</file><file action="modify">pykota/trunk/man/sv_SE/pkprinters.1</file><file action="modify">pykota/trunk/man/sv_SE/pkrefund.1</file><file action="modify">pykota/trunk/man/sv_SE/pksetup.1</file><file action="modify">pykota/trunk/man/sv_SE/pkturnkey.1</file><file action="modify">pykota/trunk/man/sv_SE/pkusers.1</file><file action="modify">pykota/trunk/man/sv_SE/pykosd.1</file><file action="modify">pykota/trunk/man/sv_SE/pykotme.1</file><file action="modify">pykota/trunk/man/sv_SE/repykota.1</file><file action="modify">pykota/trunk/man/sv_SE/warnpykota.1</file><file action="modify">pykota/trunk/man/th/autopykota.1</file><file action="modify">pykota/trunk/man/th/dumpykota.1</file><file action="modify">pykota/trunk/man/th/edpykota.1</file><file action="modify">pykota/trunk/man/th/pkbanner.1</file><file action="modify">pykota/trunk/man/th/pkbcodes.1</file><file action="modify">pykota/trunk/man/th/pkinvoice.1</file><file action="modify">pykota/trunk/man/th/pkprinters.1</file><file action="modify">pykota/trunk/man/th/pkrefund.1</file><file action="modify">pykota/trunk/man/th/pksetup.1</file><file action="modify">pykota/trunk/man/th/pkturnkey.1</file><file action="modify">pykota/trunk/man/th/pkusers.1</file><file action="modify">pykota/trunk/man/th/pykosd.1</file><file action="modify">pykota/trunk/man/th/pykotme.1</file><file action="modify">pykota/trunk/man/th/repykota.1</file><file action="modify">pykota/trunk/man/th/warnpykota.1</file><file action="modify">pykota/trunk/man/tr/autopykota.1</file><file action="modify">pykota/trunk/man/tr/dumpykota.1</file><file action="modify">pykota/trunk/man/tr/edpykota.1</file><file action="modify">pykota/trunk/man/tr/pkbanner.1</file><file action="modify">pykota/trunk/man/tr/pkbcodes.1</file><file action="modify">pykota/trunk/man/tr/pkinvoice.1</file><file action="modify">pykota/trunk/man/tr/pkprinters.1</file><file action="modify">pykota/trunk/man/tr/pkrefund.1</file><file action="modify">pykota/trunk/man/tr/pksetup.1</file><file action="modify">pykota/trunk/man/tr/pkturnkey.1</file><file action="modify">pykota/trunk/man/tr/pkusers.1</file><file action="modify">pykota/trunk/man/tr/pykosd.1</file><file action="modify">pykota/trunk/man/tr/pykotme.1</file><file action="modify">pykota/trunk/man/tr/repykota.1</file><file action="modify">pykota/trunk/man/tr/warnpykota.1</file><file action="modify">pykota/trunk/man/warnpykota.1</file><file action="modify">pykota/trunk/man/zh_TW/autopykota.1</file><file action="modify">pykota/trunk/man/zh_TW/dumpykota.1</file><file action="modify">pykota/trunk/man/zh_TW/edpykota.1</file><file action="modify">pykota/trunk/man/zh_TW/pkbanner.1</file><file action="modify">pykota/trunk/man/zh_TW/pkbcodes.1</file><file action="modify">pykota/trunk/man/zh_TW/pkinvoice.1</file><file action="modify">pykota/trunk/man/zh_TW/pkprinters.1</file><file action="modify">pykota/trunk/man/zh_TW/pkrefund.1</file><file action="modify">pykota/trunk/man/zh_TW/pksetup.1</file><file action="modify">pykota/trunk/man/zh_TW/pkturnkey.1</file><file action="modify">pykota/trunk/man/zh_TW/pkusers.1</file><file action="modify">pykota/trunk/man/zh_TW/pykosd.1</file><file action="modify">pykota/trunk/man/zh_TW/pykotme.1</file><file action="modify">pykota/trunk/man/zh_TW/repykota.1</file><file action="modify">pykota/trunk/man/zh_TW/warnpykota.1</file></files></commit></body><timestamp>1282098804</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3549</revision><author>jerome</author><log>Removed support for the MaxJobSize attribute for users group print quota
entries : I couldn't see a real use for this at the moment, and it would
complexify the code. This support might reappear later however.  Added full
support for the MaxJobSize attribute for user print quota entries,
editable with edpykota's new --maxjobsize command line switch.  Changed
the internal handling of the MaxJobSize attribute for printers :
internally 0 used to mean unlimited, it now allows one to forbid
printing onto a particular printer. The database upgrade script (only
for PostgreSQL) takes care of this.
IMPORTANT : the database schema changes. A database upgrade script is
provided for PostgreSQL only. The LDAP schema doesn't change to not
break any existing LDAP directory, so the pykotaMaxJobSize attribute is
still allowed on group print quota entries, but never used.
Seems to work as expected, for a change :-)
Fixes #15.  </log><diffLines>560</diffLines><files><file action="modify">pykota/trunk/bin/cupspykota</file><file action="modify">pykota/trunk/bin/edpykota</file><file action="modify">pykota/trunk/bin/pkprinters</file><file action="modify">pykota/trunk/bin/pykotme</file><file action="modify">pykota/trunk/cgi-bin/pykotme.cgi</file><file action="modify">pykota/trunk/initscripts/ldap/pykota.schema</file><file action="modify">pykota/trunk/initscripts/mysql/pykota-mysql.sql</file><file action="modify">pykota/trunk/initscripts/postgresql/pykota-postgresql.sql</file><file action="add">pykota/trunk/initscripts/postgresql/upgrade-to-1.27.sql</file><file action="modify">pykota/trunk/initscripts/sqlite/pykota-sqlite.sql</file><file action="modify">pykota/trunk/pykota/storage.py</file><file action="modify">pykota/trunk/pykota/storages/ldapstorage.py</file><file action="modify">pykota/trunk/pykota/storages/sql.py</file><file action="modify">pykota/trunk/pykota/version.py</file></files></commit></body><timestamp>1282098060</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3548</revision><author>jerome</author><log>During SNMP accounting, I forgot to decrease the waiting delay at the
time the printer went back to a normal status, when it
was increased because the printer was down.  </log><diffLines>64</diffLines><files><file action="modify">pykota/trunk/pykota/accounters/snmp.py</file></files></commit></body><timestamp>1282079468</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3547</revision><author>jerome</author><log>Major (temporary ?) fix for a very old bug : the job options were
retrieved from the command line, and automatically converted to unicode
when cupspykota started. All other job attributes were retrieved from a
getJobAttributes() request to CUPS, and returned in utf-8. When looping
over all job attributes (including options) there was a character
encoding mismatch cause the cupspykota backend to fail miserably.
This fix may be improved later.  </log><diffLines>35</diffLines><files><file action="modify">pykota/trunk/pykota/cups.py</file><file action="modify">pykota/trunk/pykota/version.py</file></files></commit></body><timestamp>1282007296</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3546</revision><author>jerome</author><log>Fixes #65.  </log><diffLines>24</diffLines><files><file action="modify">pykota/trunk/pykota/accounters/snmp.py</file></files></commit></body><timestamp>1280715519</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3545</revision><author>jerome</author><log>Ensures that all command lines are properly encoded before calling
os.system() on them from the cupspykota backend wrapper.
TODO : check command line tools for the same potential problem.  </log><diffLines>112</diffLines><files><file action="modify">pykota/trunk/bin/cupspykota</file><file action="modify">pykota/trunk/pykota/tool.py</file><file action="modify">pykota/trunk/pykota/version.py</file></files></commit></body><timestamp>1272404300</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3544</revision><author>jerome</author><log>Some untested code, for a change.  </log><diffLines>305</diffLines><files><file action="modify">pykocard/trunk/pykocard/cartadistcrs.py</file></files></commit></body><timestamp>1272367912</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3543</revision><author>jerome</author><log>Doesn't waste anymore the reading of one character at device opening
time. Activates debug mode in the testing program.  </log><diffLines>51</diffLines><files><file action="modify">pykocard/trunk/pykocard/cartadistcrs.py</file></files></commit></body><timestamp>1272356041</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3542</revision><author>jerome</author><log>It mostly works now with a real Cartadis TCRS (Serial #68169). Time to
put some additional credits onto my card, otherwise I won't be able to
test for long :-)
TODO : improve robustness, and implement the few missing calls.  </log><diffLines>195</diffLines><files><file action="modify">pykocard/trunk/pykocard/cartadistcrs.py</file></files></commit></body><timestamp>1272355586</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3541</revision><author>jerome</author><log>I've finally killed this one (exactly the sort of thing I've said for
several years wrt such charset encoding problems) ! The problem was not
in the encoding of the title attribute of the job, which was perfectly
correct, but in the jobid attribute, which was still in unicode instead
of in UTF-8. This particular situation made the query string be
transformed to unicode, and an utf-8 encoded title couldn't be inserted
into it, making PyKota fail miserably.
Fixes #56. References #60, #61.  </log><diffLines>51</diffLines><files><file action="modify">pykota/trunk/pykota/storages/sql.py</file></files></commit></body><timestamp>1271927642</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3540</revision><author>jerome</author><log>API should be completely there, although partially implemented (no
handling for the terminal's keyboard for now).
TODO : define some additional constants.
TODO : check boundaries when setting values.
TODO : test with the real terminal.  </log><diffLines>284</diffLines><files><file action="modify">pykocard/trunk/pykocard/cartadistcrs.py</file></files></commit></body><timestamp>1271844875</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3539</revision><author>jerome</author><log>Added a comment about the code not working right now with an unpatched PySerial.  </log><diffLines>18</diffLines><files><file action="modify">pykocard/trunk/pykocard/cartadistcrs.py</file></files></commit></body><timestamp>1271838634</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3538</revision><author>jerome</author><log>Minimal command set for testing purposes.  </log><diffLines>57</diffLines><files><file action="modify">pykocard/trunk/pykocard/cartadistcrs.py</file></files></commit></body><timestamp>1271811676</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3537</revision><author>jerome</author><log>Now opens the serial device and can write to it.  </log><diffLines>79</diffLines><files><file action="modify">pykocard/trunk/pykocard/cartadistcrs.py</file></files></commit></body><timestamp>1271809044</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3536</revision><author>jerome</author><log>Added the card's structure.  </log><diffLines>37</diffLines><files><file action="modify">pykocard/trunk/pykocard/cartadistcrs.py</file></files></commit></body><timestamp>1271804997</timestamp></message><message><generator><name>Python Subversion client for CIA</name><version>1.20</version></generator><source><project>pykota</project></source><body><commit><revision>3535</revision><author>jerome</author><log>First commit, first bug ! Not bad...  </log><diffLines>24</diffLines><files><file action="modify">pykocard/trunk/pykocard/cartadistcrs.py</file></files></commit></body><timestamp>1271803033</timestamp></message></recentMessages></statsTarget>
