This is an old revision of the document!
Braindump
Just a Braindump for various useful things, mostly concerning Programming Languages!
This makes a nice, embedded matplotlib Plot in a GTK app
if self.canvas1 != None:
self.axis1.clear()
self.figure1.clear()
self.canvas1.hide()
self.canvas1.destroy()
self.figure1 = Figure()
self.axis1 = self.figure1.add_subplot(111)
self.axis1.set_xlabel('Bins')
self.axis1.set_ylabel('Percentage')
self.axis1.set_title('Histogram')
self.axis1.grid(True)
self.canvas1 = FigureCanvasGTK(self.figure1)
self.canvas1.show()
self.graphview = self.xml.get_widget('graphbox')
self.graphview.pack_start(self.canvas1, True, True)
pl1 = self.axis1.bar(numpy.arange(0, int(self.db["nbin"]*self.db["binw"]), int(self.db["binw"])), histlist1, width=self.db["binw"], color='red')
self.axis1.set_xlim(xmin=0, xmax=int(self.db["nbin"] * self.db["binw"]))
self.axis1.set_ylim(ymin=0, ymax=100)
self.figure1.legend((pl1[0], pl2[0]), ('CW', 'CCW'), loc='upper left')
Sort a TreeView with a custom sort-func
liststore.set_sort_func(2, self.sort_float, 2)
liststore.set_sort_func(3, self.sort_float, 3)
def sort_float(self, treemodel, iter1, iter2, column):
iter1 = treemodel.get_value(iter1, column)
iter2 = treemodel.get_value(iter2, column)
if float(iter1) < float(iter2):
return -1
elif float(iter1) > float(iter2):
return 1
else:
return 0
Python & gettext on Windows
First Time Run: perl gettext\bin\intltool-extract --type=gettext/glae hit_gui.glade gettext\bin\xgettext.exe --language=Python --keyword=_ --keyword=N_ --output=hit.pot hit_gui.glade.h hit.py gettext\bin\msginit --input=hit.pot --locale=de_DE gettext\bin\msginit --input=hit.pot --locale=it_IT md locale md locale\de_DE md locale\de_DE\LC_MESSAGES md locale\it_IT md locale\it_IT\LC_MESSAGES *** Create Translation in de.po/it.po/... *** gettext\bin\msgfmt --output-file=locale\de_DE\LC_MESSAGES\hit.mo de.po gettext\bin\msgfmt --output-file=locale\it_IT\LC_MESSAGES\hit.mo it.po Code Change: perl gettext\bin\intltool-extract --type=gettext/glade hit_gui.glade gettext\bin\xgettext.exe --language=Python --keyword=_ --keyword=N_ --output=hit.pot hit_gui.glade.h hit.py gettext\bin\msgmerge -U de.po hit.pot gettext\bin\msgmerge -U it.po hit.pot *** Create Translation in de.po/it.po/... *** gettext\bin\msgfmt --output-file=locale\de_DE\LC_MESSAGES\hit.mo de.po gettext\bin\msgfmt --output-file=locale\it_IT\LC_MESSAGES\hit.mo it.po
To avoid problems with UTF8 and ISO conversions, I usually run the program via a batch file, setting the language explicitly (set lang=de_DE).