Code Python3 PyQt5 "säubern" und erweitern gegen Honorar

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
medix
User
Beiträge: 7
Registriert: Dienstag 13. November 2018, 20:57

Freitag 16. November 2018, 08:23

Liebe Gemeinde,

ich bin nun an meine Grenzen bzgl. des Codes gekommen und schaffe es zeitlich (berufstätiger Papa von 3 Kiddies ohne Mama) einfach nicht, mich weiter in die Materie einzuarbeiten, vor allem in Hinblick darauf, dass ich wohl nicht wirklich in Python zukünftig Programme erstellen werde.

Ich habe ein lauffähiges Programm mit ca 200 Zeilen, ist mit PyQt5. Das ganze läuft auf meinem Raspberry Pi 3b+ sehr gut und absturzfrei lokal. Netzwerk ist nicht erforderlich. Ich bin mir bewusst, dass der Code nicht optimal geschrieben ist. Folgende Aufgaben lägen an:

Den Code schlank und sauber machen
Eine Meldung, welche das System von Zeit zu Zeit bei einem Ereignis generiert, soll eine bestimmte Aktion (Meldung) im Programm anzeigen. Das Ereignis betrifft den Zustand des Druckers (Papier alle, Farbe alle). Ausdrucken kann ich super aus dem Programm heraus sowohl über Subprocess lp als auch über Cups. Über Flake bekomme ich auch per JSON Info auf Port 5000, leider ist das cups-http-notifier wohl nicht in Python3 geschrieben, jedenfalls komme ich da nicht weiter.

Ich vermute, dass ein Programmierer für die Sache 1 bis 2 Stunden braucht. Als Dank Stelle ich mir 100 Euro vor.

Lieben Dank
Andy
medix
User
Beiträge: 7
Registriert: Dienstag 13. November 2018, 20:57

Freitag 16. November 2018, 10:02

Ich habe ein lauffähiges Programm mit ca 200 Zeilen, ist ..
Es sind ca. 400 Zeilen
medix
User
Beiträge: 7
Registriert: Dienstag 13. November 2018, 20:57

Montag 19. November 2018, 13:22

Nachdem ich mich kurz in Python eingelesen habe, löste ich das Problem nun auf folgende Weise:

Code: Alles auswählen

def druck_test(self):
        self.screen = 6
        if(self.isLive):
                self.camera.stop_preview()
                self.isLive = False
        f_read = open('/var/log/cups/error_log', 'r')
        last_line = f_read.readlines()[-1]
        f_read.close()
        meldung = (last_line.split(" ", 5)[5])
        papier_alle = "No paper tray loaded" in meldung
        if (papier_alle is True):
           //rumjammern, dass Papier fehlt
          // Wenn Papier gewechselt ->
          // teste irgendwie, ob alles ok. Logfile schreibt ja nicht in error_log "Alles schick"
        else:
            self.ui.druck()    



def druck(self):
        self.screen = 5
        ....

        os.system('/usr/sbin/cupsenable MeinDrucker')
      
        FILE = self.saved+self.lastPhoto
        conn = cups.Connection()
        conn.printFile(PRINTER, FILE, title='Foto', options={})
Das ist noch nicht fertig, aber es funzt soweit erst mal.
Antworten