,

Cupspykota funktioniert nicht, alle Druckjobs werden gecancelt

Problem: Am Client erscheinen keine Abfrage-Messages von Pykota, alle Druckjobs werden sofort gecancelt.

Hinweise zum Problem findet man in /var/log/syslog bei JobOriginatingHostName:

Jun 25 22:04 server PyKota: (PID 403) : zell@PDF-Printer(9) => Options : job-uuid=urn:uuid:3...6 job-originating-host-name=10.16.2.101 time-at-creation=1372190688 time-at-processing=1372190688
Jun 25 22:04 server PyKota: (PID 403) : zell@PDF-Printer(9) => Directory : /tmp
Jun 25 22:04 server PyKota: (PID 403) : zell@PDF-Printer(9) => DataFile : /tmp/cupspykota-PDF-Printer-administrator-9
Jun 25 22:04 server PyKota: (PID 403) : zell@PDF-Printer(9) => ControlFile : NotUsedAnymore
Jun 25 22:04 server PyKota: (PID 403) : zell@PDF-Printer(9) => JobBillingCode : None
Jun 25 22:04 server PyKota: (PID 403) : zell@PDF-Printer(9) => JobOriginatingHostName : None

Ursache: Der Client-Hostname wird von pykota nicht erkannt, deshalb geht die Anfrage-Meldung ins Leere: „JobOriginatingHostName : None“. Wahrscheinlich arbeitet Pykota nicht korrekt mit der CUPS-Version 1.5.3 zusammen.

Lösung: In dem Python-Script /usr/lib/cups/backend/cupspykota ca. in Zeile 376 ergänzen. Dadurch wird der Client-Hostname aus den Options herausgefiltert:

   ...     
        self.logdebug("ControlFile : %s" % self.ControlFile)
        self.logdebug("JobBillingCode : %s" % self.JobBillingCode)
        ########## Client Host aus Options herausfiltern ################################
        self.ClientHost = self.Options.split("=")[2].split(" ")[0]
        #################################################################################
        self.logdebug("JobOriginatingHostName : %s" % self.ClientHost)
   ...