Categories

Categories

 
 
 
 

Currently the posts are filtered by: Softwaredevelopment
Reset this filter to see all posts.

03.04.2018
16:08

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]
06.10.2011
19:39

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:

  1. Datenbank kopieren
  2. Änderungen am Original durchführen
  3. 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]
18.04.2011
12:11

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]
05.04.2011
15:49

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]
23.03.2011
16:14

Eclipse: PHP Code Formatter anpassen

Ein häufiges Problem in Eclipse PDT ist es, dass sich der Code Formatter, welchen man mittels STRG+SHIFT+F aufruft nicht (wie beispielsweise für Java) konfigurieren und an den eigenen Coding Standard anpassen läßt.

Unter "Window"->"Preferences"->"PHP"->"Code Style"->"Formatter" kann man leider lediglich die verwendete Tab Policy (Spaces oder Tabs) anpassen. Wann beispielsweise Zeilenumbrüche oder Einrückungen eingefügt werden sollen, lässt sich nicht direkt anpassen.

Dies lässt sich allerdings leicht mit einem Plugin nachrüsten: Der Code Formatter der PDT Tools erfüllt hier alle Wünsche.

Anschließend stehen einem unter "Window"->"Preferences"->"PHP"->"Code Style"->"Formatter (PDT Tools)" sämtliche Optionen zum Definieren eigener Coding Standards für den Formatter zur Verfügung. Da man die vorhanden Profile nicht anpassen kann, muss man mittels "New.." einen eigenen Standard anlegen. Dieser basiert immer auf einem vorhanden Profil, so dass man nicht von Null anfangen muss.

Nun kann man mittels der zahlreichen Optionen den Coding Standard seinen eigenen Bedürfnissen anpassen und so den Source Code mittels STRG+SHIFT+F einfach formatieren.

 
 
 
 
Impressum