Categories
Using Gildas/Class from Python
As many people have been asking me on how to use Gildas/Class from within Python, I'll try to give a quick tour here. You will need to have Class installed including the Pyclass extension.
Before you start the Python script you need to initialize Gildas in the shell. Make also sure it is in your $PYTHONPATH. On my local PC using a bash shell where Gildas is installed in $GILDAS_DIR that is
source $GILDAS_DIR/initgag.sh export PYTHONPATH=$PYTHONPATH:$GILAS_DIR/gildas-exe-mar18b/x86_64-ubuntu14.04-gfortran/python/
The example above is for the version of Class tested in March 2018 - you might need to change the path for your installed version accordingly. Check if Class is running as usual and that indeed you find the Gildas-path in your $PYTHONPATH.
Then you can execute the Python script or go into iPython. Here is a minimal example:
import pygildas, pyclass # if you want your program to catch PygildasErrors: from pgutils import PygildasError # you are good to go from here, but to access stuff easier, I prefer # to assign the two most commonly used objects to individual # variables for easy access # get the gildas command line interpreter to issue commands quickly sic = pyclass.comm # get the pyclass.gdict object for easy Gildas variable access g = pyclass.gdict # just execute commands as you would within Class # you just do not have the display - use matplotlib ;) sic('SIC MESSAGE GLOBAL ON') # or OFF for less noise sic('file in "myData.apex"') # ...
To access Gildas variables we use the pyclass.gdict (the object we assigned to g). Unfortunately
[more]
ASUS RT-N56U und Netzwerkdrucker unter Ubuntu Linux oder Windows 7
Um am ASUS RT-N56U Router einen Drucker zu betreiben muss man theoretisch nicht viel tun: Drucker einstecken und am Client PC entsprechend einrichten. Wie letzteres aber ohne die ASUS Wireless Utilities funktioniert (diese gibt es für Linux nicht), will ich hier kurz für Linux (Ubuntu mittels CUPS Web-Interface) und Windows 7 beschreiben.
Ubuntu/Linux:
Wichtig sind hier eigentlich nur zwei Dinge:
[more]
Unterschied zwischen zwei Datenbanken exportieren
Um mit Selenium Testcases für TYPO3 Extensions erzeugen zu können stellte sich mir die Frage, wie ich möglichst einfach ein umfangreiches Datenbank-Testinventar erstellen kann, ohne alle Tabelleneinträge von Hand anlegen zu müssen. Die Lösung ist dabei recht einfach:
- Datenbank kopieren
- Änderungen am Original durchführen
- Datenbanken vergleichen und Änderungen exportieren
Doch wie kommt man an die Änderungen zwischen beiden Datenbanken? Wenn beide Datenbanken (nennen wir sie actualDb und oldDb) auf dem gleichen Datenbankserver und für einen gemeinsamen User zugänglich sind, kann man dies für eine einzige Tabelle wie folgt erledigen.
[more]
PHP Entwicklunsserver unter Windows ausetzen
Um effektiv größere Projekte zu verwalten, kann es hilfreich sein einen eigenen Entwicklungsserver aufzusetzten. Dieser sollte folgendes enthalten:
- Versionskontrolle (SVN)
- Issue Tracker (Redmine)
- Testserver (WAMP)
- Continous Integration (phpUnderControl)
Da es bei der Installation zu zahlreichen Problemen kommen kann, und ich an dieser Stelle nicht auf alle eingehen kann, werde ich hier nur kurz das Aufsetzten eines Entwicklungsservers unter Windows skizzieren, und auf detailiertere Quellen im Web verweisen, welche mir bei der Installation geholfen haben. Die Eingabeaufforderung sollte man hierbei generell als Admin ausführen, da es sonst zu Problemen mit den Rechten kommen kann, und es schwierig wird einen eventuell auftauchenden Fehler einzugrenzen.
[more]
Zeilenumbrüche - Eclipse, Subversion und Windows
Unter Windows kann es unter Umständen zu Problemen mit den Zeilenumbrüchen in Dateien kommen, wenn man diese per Subversion in ein Repository committen will, und der Zeilenumbruch nicht Windows typisch CR-LF (bzw. "\r\n") sein soll, sondern Unix typisch nur durch einen Zeilenvorschub (LF, bzw. "\n") dargestellt werden soll (z.B. aufgrund vorgegebener Coding Guidelines).
Hierzu ist es notwendig, die Auto Properties von SVN so einzustellen, dass der gewünschte Zeilenumbruch erzeugt wird. Meistens wird für die auto-props in etwa folgendes angegeben:
[miscellany]
enable-auto-props = yes[auto-props]
*.php = svn:eol-style=native;svn:keywords=Id Author Date Revision URL
Die Zuweisung der SVN Property eol-style=native bewirkt aber, dass der Zeilenumbruch beim Commit immer auf den natürlichen Zeilenumbruch des Betriebssystem des Clients umgestellt wird - unter Windows eben CRLF - egal, wie man den Zeilenumbruch in Eclipse (oder beliebigem Editor) eingestellt hat.
Damit nu
[more]