wie gesagt mein erstes python script, es ist an ihr opsi-makeprod angepasst.
das folgende Script soll noch soweit erweitert werden das es die Dateien automatisch mit einigen Daten füllt, entweder über Templates in form von
Dateien, die der Anwender dann anpassen kann, oder über ein Menü, durch das dann ein Template zusammen gesetzt wird.
Code: Alles auswählen
if (setupScript != ''):
InstallDatei = open( os.path.join(destDir, productId,'CLIENT_DATA/'+setupScript), 'w' )
InstallDatei.close()
if (updateScript != ''):
UpdateDatei = open( os.path.join(destDir, productId,'CLIENT_DATA/'+updateScript), 'w' )
UpdateDatei.close()
if (uninstallScript != '' ):
UninstallDatei = open( os.path.join(destDir, productId,'CLIENT_DATA/'+uninstallScript), 'w' )
UninstallDatei.close()
if (alwaysScript != '' ):
AlwaysDatei = open( os.path.join(destDir, productId,'CLIENT_DATA/'+alwaysScript), 'w' )
AlwaysDatei.close()
if (onceScript != '' ):
OnceDatei = open( os.path.join(destDir, productId,'CLIENT_DATA/'+onceScript), 'w' )
OnceDatei.close()
neuer code:
setzt nun auch berechtigungen und fügt den Inhalt aus einem Template, welches "/home/opsiproducts/tmp/install.tmp"
Code: Alles auswählen
f = 0
while (f < 5 ):
if (values[f].get('value') != ''):
InstallDatei = open( os.path.join(destDir, productId,'CLIENT_DATA/'+values[f].get('value')), 'a' )
if (os.path.exists("/home/opsiproducts/tmp/install.tmp") == True):
temp = open("/home/opsiproducts/tmp/install.tmp","r")
for line in temp.readlines():
InstallDatei.write(line)
temp.close()
InstallDatei.write(';ENDE des TEMPLATES\n')
InstallDatei.close()
os.chmod( os.path.join(destDir, productId, 'CLIENT_DATA/'+values[f].get('value')),0660 )
f += 1
Ausserdem hab ich mir noch ein paar Gedanken gemacht, dafür müsste ich ihr Script aber abändern/erweitern.
Ich will eine Art Testscript basteln, welches aus einem input verzeichnis die Scripte holt und automatisch ein Packet erstellt.
Dies würde dafür sorgen das man zum testen der Packete nur die scripte anpassen muss, einmal ein Script ausführt und danach direkt installieren kann.
Sollte dann alles gut laufen kann man die installations Scripte für das gewünschte Packet verwenden.
Nächste Erweiterung wäre dann ein import des Testpacketes in ein Produktiv Packet.
Ist vielleicht später auch für eine GUI nützlich, dieser gedanke wurde ja bereits im Forum erwähnt.
Alles reines zukunfts denken
