Phython3 QT4, import cups -> Wie kann ich "Papier leer" abfragen und ausgeben?
Verfasst: Dienstag 13. November 2018, 21:25
Hallo Gemeinde,
habt Dank für die Aufnahme hier im Forum.
Meine bisherigen Programmiererfahrungen basieren vor allem auf php, derzeit setze ich mein erstes Python - Projekt um.
Ich nutze kein Framework (derzeit), tippe meinen Code in Geany unter Linux.
Mein Problem, mit welchem ich nicht zufriedenstellend weiter komme:
in /val/log/cups/error.log finde ich
E [......] [Job xxx] No paper try loaded, aborting
Ich möchte erreichen, dass, sofern der Druck wegen zB fehlendem Papier nicht ausgeführt werden kann, eine Meldung in Form eines Bildes ausgegeben wird.
Das mache ich bereits beim Start des Drucks mit
Nur wie "weiß" das Script, dass kein Papier da ist? Bzw. das eben ein Fehler beim Drucker vorliegt? Muss dazu die error.log gelesen und ausgewertet werden? Oder gibts eine andere - bessere - Möglichkeit?
Vielen Dank!
medix aka Andy
habt Dank für die Aufnahme hier im Forum.
Meine bisherigen Programmiererfahrungen basieren vor allem auf php, derzeit setze ich mein erstes Python - Projekt um.
Ich nutze kein Framework (derzeit), tippe meinen Code in Geany unter Linux.
Mein Problem, mit welchem ich nicht zufriedenstellend weiter komme:
Code: Alles auswählen
...
import sys
import os
import subprocess
import time
import cups
(FROM ....... PyQt5, -> QtCore, QtGui, QtWidgets... und paar andere Sachen)
...
PRINTER = 'meinDrucker'
FILE = 'meineDatei'
...
##### Hier starte ich den Drucker neu, da das Teil nach Papierwechsel nicht automatisch wieder "aufwacht"###
##### Diese Zeile würde ich gern nur dann ausführen, wenn cups den Fehler "Papier alle" oder "Patrone alle" brachte
os.system('/usr/sbin/cupsenable meinDrucker')
conn = cups.Connection()
conn.printFile(PRINTER, FILE, title='Ausdruck', option={})
E [......] [Job xxx] No paper try loaded, aborting
Ich möchte erreichen, dass, sofern der Druck wegen zB fehlendem Papier nicht ausgeführt werden kann, eine Meldung in Form eines Bildes ausgegeben wird.
Das mache ich bereits beim Start des Drucks mit
Code: Alles auswählen
pixmap = QPixmap('/home/pi/meineMeldung.jpg')
picScaled = pixmap.scaledToWidth(200)
self.image.setPixmap(picScaled)
Vielen Dank!
medix aka Andy