Literatur:
So funktioniert es: handleQL570
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from PyQt4 import QtGui, QtCore
class Window(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.setWindowTitle(self.tr('Document Printer'))
self.editor = QtGui.QTextEdit(self)
self.editor.textChanged.connect(self.handleTextChanged)
self.buttonQL570 = QtGui.QPushButton('QL-570', self)
self.buttonQL570.clicked.connect(self.handleQL570)
self.buttonPrint = QtGui.QPushButton('Print', self)
self.buttonPrint.clicked.connect(self.handlePrint)
self.buttonPreview = QtGui.QPushButton('Preview', self)
self.buttonPreview.clicked.connect(self.handlePreview)
layout = QtGui.QGridLayout(self)
layout.addWidget(self.editor, 0, 0, 1, 3)
layout.addWidget(self.buttonQL570, 1, 0)
layout.addWidget(self.buttonPrint, 1, 1)
layout.addWidget(self.buttonPreview, 1, 2)
self.beispielText()
self.handleTextChanged()
def beispielText(self):
self.editor.clear()
self.editor.setHtml(u'Vorname Name<br>Straße<br><strong>PLZ Ort</strong>')
def handlePrint(self):
dialog = QtGui.QPrintDialog()
if dialog.exec_() == QtGui.QDialog.Accepted:
self.editor.document().print_(dialog.printer())
def handlePreview(self):
dialog = QtGui.QPrintPreviewDialog()
dialog.paintRequested.connect(self.editor.print_)
dialog.exec_()
def handleQL570(self):
tp = QtGui.QPrinter()
# Es muss natürlich einen eingerichteten Drucker mit dem Namen geben
tp.setPrinterName('QL-570')
# Das Setzen der Papiergröße funktioniert nicht,
# es wir die im Druckertreiber eingestellte Papiergröße verwendet
# Ohne Wirkung: tp.setPaperSize( QtCore.QSizeF( 29, 62 ), QtGui.QPrinter.Millimeter )
tp.setOrientation( QtGui.QPrinter.Landscape)
tp.setPageMargins(2,2,2,2, QtGui.QPrinter.Millimeter)
self.editor.document().print_(tp)
def handleTextChanged(self):
enable = not self.editor.document().isEmpty()
self.buttonPrint.setEnabled(enable)
self.buttonPreview.setEnabled(enable)
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
window = Window()
window.resize(640, 480)
window.show()
sys.exit(app.exec_())
Tags: Python pyqt Etikettendrucker Brother QL-570
Literatur:
Um von Python aus Passwörter aus der KDE-Brieftasche zu lesen genügen diese paar Zeilen:
import keyring
# Setzen des Passwortes
keyring.set_password("ftp.wlsoft.de","wlsoft.de", "123")
# Lesen des Passwortes
password = keyring.get_password("ftp.wlsoft.de","wlsoft.de")
Oder hier am Beispiel eines Scripts zum Hochladen einer Datei per FTP auf diesen Server.
import keyring
KEYRING_SERVICE = "ftp.wlsoft.de"
KEYRING_USERNAME = "wlsoft.de"
def main():
if len(sys.argv) < 2:
sys.exit('Usage: %s filename' % sys.argv[0])
filename = sys.argv[1]
if not os.path.exists(filename):
sys.exit('ERROR: File %s was not found!' % filename)
ftp_host = KEYRING_SERVICE
ftp_user = KEYRING_USERNAME
#Das Passwort aus Standard-Keyring lesen (unter KDE ist das kwallet)
ftp_pass = keyring.get_password(KEYRING_SERVICE,KEYRING_USERNAME)
if (ftp_pass==''):
sys.exit('Set Keyring Password for SERVICE %s USERNAME %s' % (KEYRING_SERVICE,KEYRING_USERNAME))
ftp = FTP(ftp_host, ftp_user, ftp_pass)
ftp.cwd("/downloads/htdocs/")
s,n = os.path.split(filename)
s = 'STOR %s' % (n)
#print s
ftp.storbinary(s, open(filename, 'rb'))
return 0
if __name__ == '__main__':
main()
Tags: Python KDE4 FTP
Das Script wnfkameradownload.py dient zum Herunterladen von Bildern von einer Digitalkamera für das Programm wnfAlbum.
$ sudo add-apt-repository ppa:r-dev/wnfkameradownload
$ sudo apt-get update
$ sudo apt-get install wnfkameradownload
Das Script wnfkameradownload.py kann
Um das Script unter KDE 4.x einzubinden, muss für die Geräteüberwachung eine Aktion eingerichtet werden.
Um das Script unter Ubuntu - Gnome zu nutzen muss das Paket python-qt4 installiert sein.
Historie
26.01.2014 Version 1.12
26.12.2013 Version 1.11
19.11.2013 Version 1.09
17.11.2013 Version 1.08
03.11.2013 Version 1.07
01.01.2011 Version 1.04
01.12.2010 Version 1.02
Zum nachlesen
Kochbuch
$ sudo apt-get install lighttpd
$ sudo nano /etc/lighttpd/lighttpd.conf
server.modules = (
"mod_access",
"mod_alias",
"mod_compress",
"mod_redirect",
# "mod_rewrite",
"mod_cgi",
)
cgi.assign = ( ".py" => "/usr/bin/python" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".py" )
$ sudo mkdir /var/www/cgi-bin
$ sudo /etc/init.d/lighttpd restart
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#http://planzero.org/blog/2012/01/26/system_uptime_in_python,_a_better_way
from datetime import timedelta
print "Content-Type: text/html"
print
print "<title>Uptime des Beaglebone Black</title>"
print "<h1>Uptime des Beaglebone Black</h1>"
with open('/proc/uptime', 'r') as f:
uptime_seconds = float(f.readline().split()[0])
uptime_string = str(timedelta(seconds = uptime_seconds))
print(uptime_string)
Testaufruf mit http://bone.nfix.de/cgi-bin/wnfuptime.py
Tags: Python beagleboneLiteratur:
python setup.py bdist_rpm
liefert folgenden Fehler:
building RPMs
rpm -ba --define _topdir /tmp/erstellung/programm/build/bdist.linux-x86_64/rpm --clean build/bdist.linux-x86_64/rpm/SPECS/wnfkameradownload.spec
rpm: -ba: Unbekannte Option
error: command 'rpm' failed with exit status 1
```-
Hier die Erklärung dazu:
- http://bugs.python.org/issue11122
- python setup ruft rpm-build auf, wenn das nicht installiert ist, dann wird rpm aufgerufen und rpm kennt -ba nicht.
- Also rpm-build nach installieren .
Tags: Python Suse rpm
Zur Beachtung in KDE4.2.x plasmoidviewer kann nur installierte Plasmoide anzeigen.
$ plasmoidviewer --version
Qt: 4.5.0
KDE: 4.2.4 (KDE 4.2.4)
Plasma Widget Viewer: 1.0
unter Suse 13.1 und KDE 4.11
plasma-windowed --version
Qt: 4.8.5
KDE: 4.11.2
Plasma-Shell: 0.1
Tags: Python