inspired by accsnmp
sudo apt-get install python3 python3-pip virtualenv # Para ejecutar los scripts
sudo apt-get install libcups2-dev # Lo requiere pycups
sudo apt-get install libsnmp-dev # Lo requiere easysnmp
sudo apt-get install snmp # Para evitar unos warnings por la ausencia de MIBs
sudo apt-get install git # Para clonar este repositorio
git clone https://github.com/dvinazza/cups-accounting.git
cd cups-accounting
virtualenv --python=$(which python3) venv
source venv/bin/activate
pip install pycups easysnmp
pip install sqlalchemy # db backend
El script necesita acceder a los detalles de los jobs en el CUPS
https://www.papercut.com/kb/Main/UnknownAndWithheldUserInCUPS
- Funcionamiento Básico (etapas de la impresión y autenticación)
- Agregar Alertas (jinja y google-smtp?)
- Alertas: Separar en un objeto aparte y agregar contexto (class MailEngine o algo así?)
- Alertas: Armar un Queue aparte para enviar mails sin bloquear al proceso de impresión
- Alertas: Briefing del job en cuestión
- Alertas: Dominio libre en los aliases
- Homogeneizar/Simplificar la representación de cada objeto en repr
- Documentación: Instalación
- Documentación: Configuración
- Documentación: Como extender a otra impresora
- Configuración: Documentar
- Configuración: Utilizar YAML en lugar de un script de python
- Configuración: Separar la config del Manager de la impresora (mismo manager puede admin varias impr)
- Ejecución: Parametrizar impresora
- Ejecución: Manejar FD de salida y niveles de LOG
- db: Agregar DB Backend (sqlalchemy)
- db: Registrar el nombre de la impresora en la Impresion?
- db: Utilizar polymorf para no tener que mapear a mano las propiedades de cups.job a db.job?
- db: Armar un front-end con las estadisticas por grupo/usuario
- db: Tabla separada con las maquinas para no escribir una y otra vez el source ip
- jobs: Reducir la verbosidad de la espera
- jobs: Guardar estadisticas de cuanto tiempo estuvo en cada cola?