* 有 hardware/software 的算法,前者是走 SNMP or PJL 之類的去問(page counter),後者是你自己寫的程式塞進去 * 配 LPRng 的時候,as 拿到的東西,是還沒過 filter 的 job ===== dependency ===== * !mxDateTime [http://www.egenix.com], lang/py-mx-base * JAXML [http://www.librelogiciel.com/software/], textproc/py-jaxml * Python-SNMP, net-snmp/py-snmp * pyPgGreSQL ===== notes ===== * snmp community 可以改,但是似乎是全部共用一個? * cupspykota: precomputeJobSize() 寫死 jobSize,因為我不知道他為什麼算某些 job 會讓 python 死掉 :-( (應該要有選項不要用軟體先算 job 的啊) * epson pjl 的 pagecount 是爛的,要改用 snmp * epson 要把 standby 關掉.. 不然 snmp 拿到的 device status 是 other 而非 idle (可以 via snmp, printer/epson-standby) * 他 hostname 都是 localhost (因為大家都送到同一台後才印,來看看怎麼解)。可以從 table 的 options A=user@host 來找啦... * lprngpykota 改一下 getJobOriginatingHostname,優先用 -hhostname,不然 control 裡面的 hostname 都會是 localhost (因為我一路送來送去 XD)。改成抓 hold file (HF) 裡面的 H=,而不是 remotehost ===== 安裝 ===== - python setup.py install - 建 ~pykota,把 conf 弄到這邊 - pgsql 有 sql 可以 init,要建兩個 user (see installation docs) - 改 printcap, ar, as, ae - XXX: 把 tool.py 裡面 precomputeJob 的 jobSize 寫死成 0 (see above)