Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
MOSE - MakeObj Script Environment
#1
MOSE ist eine Skript Sprache für makeobj. Der Vorteil gegenüber normalen Batch Dateien ist, das sie auf allen Betriebsystem gleich funktioniert.
Entstanden ist die Idee im pak192.comic, wo Entwickler mit verschiedenen Platformen bissher immer verschiedene Build Skripts benötigten. Ein 2. Grund war, das ich die Programmiersprache Python testen wollte. (Und zur Zeit bin ich noch sehr begeistert von ihr!)


Systemanforderungen:
Betriebsystem: Windows, Linux/Unix, Mac OS
Python: min. Version 2.6 oder 3.0

Download:
Download und Anleitung: http://moscript.sf.net/


Installiation:
Nachtrag vom 15.7.2009: Inzwischen sind für Windows auch Installer vorhanden, und es wird empfohlen die zu verwenden!
Um MOSE zu installieren, muss die ZIP nur in einen beliebigen Ordner entpackt und dann makeobj in das selbe Verzeichnis kopiert werden. Um die Anwendug zu starten, muss nur die Datei "mose.py" gestartet werden.
In Linux ist es empfehlenswert, es in das Verzeichnis '/usr/bin/' zu entpacken. Denn dann kann man auch von die Shebang benutzen.


Benutzung:
Diese Anleitung ist für Windows geschrieben. Auf Linux und Mac sollte es gleich funktieren, habe ich jedoch selbst nicht getestet!
MOSE ist ein Kommandozeilen Interpred, ähnlich wie die "Windows Eingabeaufrderung". Und genauso funktioniert es auch. Man kann Befehle manuell eingeben, oder man kann eine Skript Datei beim Start übergeben.
Um Befehle manuell einzugeben muss die Datei einfach nur Doppelgelickt werden.
Um eine Skript-Datei zu starten gibt es 2 Möglichkeiten:
1. Starte die Datei 'mose.py' und tippe 'run example.mos' ein.
2 Oder übergib die Datei beim Start an mose.py 'mose.py example.mos'
Beide Methoden führen das Skript 'example.mos' aus.

In dieses Skript gehört nun folgendes:
Code:
#!/usr/bin/mose.py
!size=192
build ./ ./

Zeile 1: '#/usr/bin/mose.py' ist ein Shebang. Dies sollte in Linux am Anfang jeder Script-Datei stehen, denn dadurch erkennt Linux mit welchem Programm er das Script ausführen soll. Unter Windows wird dies einfach ignoriert.
Zeile 2: 'config paksize=192' bewirkt, das alle Nachfolgenden Befehle für das pak192 ausgeführt werden.
Zeile 3: 'build ./ ./' bewirkt das alle Dateien in './' (also dem Verzeichnis in dem sich das Skript befindet) nach './' erstellt werden.

ACHTUNG: Es dürfen nur Linux-/ verwendet werden! (Keine Windows-\!)

Durch die Eingabe von "help" werden alle Befehle angezeigt.

Hinweis:
Eine Liste aller Befehl erhält man durch Eingabe von "?" oder "help". Um Detailierte Informationen zu einen Befehl zu erhalten kann man "?<command>" verwenden.


Ein kleines Beispielskript, sowie eine kleine PNG und DAT in der ZIP enthalten, damit kann man leicht die Funktionien testen.
Ex-Entwickler und Gründer des pak192.comic, Betreiber von Simutrans Hosting
Zitieren
#2
Gute Idee! Allerdings funktioniert das bei mir unter einem Live-Ubuntu-System bisher nicht zufriedenstellend: Ich gebe in die Shell
Zitat:ubuntu@ubuntu:/media/MOTW/LINUX/MOSE$ ./mose.py <example.mos
./mose.py: line 1: import: command not found
ein. Brauche ich noch irgendwelche zusätzlichen Bibliotheken? (Python 3 hab ich), makeobj ist auch im selben Verzeichnis...
reistu þig vidh, sólin er komin á loft
Zitieren
#3
Eigentlich nicht. Und deine Fehlermeldung verwirrt mich etwas. "import" ist doch die Grundlage aller Befehle, wie kann die Fehlen.

Kannst du einmal probieren die Datei "makeScript.pyc" zu starten?
Du kannst für kleine Expimente auch die Anwendung ohne Übergabe eines Skripts starten! In Windows geht das durhc einfaches doppelklicken.
Ex-Entwickler und Gründer des pak192.comic, Betreiber von Simutrans Hosting
Zitieren
#4
Dann kommt folgender Fehler:


Zitat:»/media/MOTW/LINUX/MOSE/makeScript.pyc« konnte nicht angezeigt werden.
Für den Dateityp Python-Bytecode ist keine Anwendung installiert.

Bei Synaptic finde ich mit den Suchbegriffen "python" oder "python bytecode" keine für mich sinnvoll erscheinenden treffer.
reistu þig vidh, sólin er komin á loft
Zitieren
#5
Hast du Python 3.0 richtig installiert? (Mit dem Paket Manager von Ubuntu?) Denn deine Fehlermeldung besagt dass Python nicht installiert ist.

Gib in der Bash einfach einmal "python" ein. Sollte er es nicht finden, hast es nicht richtig installiert.

Eventuell versuchst du die Datei einmal folgend zu starten:
Code:
python mose.py
oder
Code:
python makeScript.pyc
Ex-Entwickler und Gründer des pak192.comic, Betreiber von Simutrans Hosting
Zitieren
#6
Installiert ist es. Nur in der Falschen Version: Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)...
Dabei hatte ich es doch über Synaptic installiert... Muss ich 2.6 erst de-installieren damit 3.0 läuft?


Angehängte Dateien Thumbnail(s)
   
reistu þig vidh, sólin er komin á loft
Zitieren
#7
Neue Version hochgeladen: http://mose.simutrans.bplaced.net/mose_0_2_1.zip

Änderungen:
ADD: Befehl "merge" hinzugefügt.
ADD: Befehl "copy" hinzugefügt.
ADD: Befehl "xcopy" hinzugefügt.
ADD: Befehl "chdir" hinzugefügt.
ADD: Befehl "mkdir" hinzugefügt.
ADD: Befehl "rmdir" hinzugefügt.
ADD: Skript: "config.mos" wird bei jedem Start automatisch ausgeführt.
UPDATE: Befehl "!" besitzt nun eine weiter Option: "!size=192". Damit kann nun die Pak-Set Größe, noch einfacher definiert werden.
UPDATE: Befehl "config" besitzt nun einige weiter Optionen, um zu steuern was auf dem Bildschirm ausgegeben wird.
FIX: Nachdem Befehl "run" wird nun automatisch in das Ursprungs Verzeichnis zurückgekehrt.


Ein Skript zum Packen des pak64 ist angehängt. Es zeigt auch die neuen Befehle!
Um es zu testen, muss man es nur in das Wurzelverzeichnis des pak64 entpacken.


Angehängte Dateien
.zip   make64.zip (Größe: 438 Bytes / Downloads: 556)
Ex-Entwickler und Gründer des pak192.comic, Betreiber von Simutrans Hosting
Zitieren
#8
Für Linux hast Du einen "Fehler". Es hißt nicht
#/usr/bin/mose.py

sondern
#!/usr/bin/mose.py

Die Kombination #! giebt den Interpreter an! Nicht das reine +, was allgemein nur als Kommentar verwendet wird.
Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind expliziet unter die GPL gestellt ....

Für "Simutrans-Nightlys" und aktuelle PAK: http://nightly.simutrans-germany.com
Zitieren
#9
Oh, danke!
Wie du weißt, bin ich selbst nicht allzu vertraut mit Linux.

--------------------------------------
Nachtrag:

Neue Version hochgeladen: http://mose.simutrans.bplaced.net/

Sie sollte nun ausreichend Fehlerfrei sein um Pak-Sets Fehlerfrei zu packen. (Gehteste und Fehlerfrei mit den Sources von pak64, pak128.britian und pak192.comic!)


Hinweis für das pak192.comic Team: Auf dem SVN liegt ein Script (makeALL.mos), zum packen des Sets. Bitte testes es. (Zur Benutzung muss die Zeile "!OUTPUT=C:\" auf das Ausgabe Verzeichnis umgeändert werden!
Ex-Entwickler und Gründer des pak192.comic, Betreiber von Simutrans Hosting
Zitieren
#10
Sorry, aber auf meinem Server ist nur 2.5

Ich werde es aber im Moment nicht updaten, da Gentoo es für wichtige Systemtools verwendet und ich nicht den Server riskieren will ....

Wenn ich zeit habe, werde ich mir auf meinen Schlappi eine VM mit Linux und einem neuerem Python draufziehen.

P.S. Kennt jemand auf die Schnelle ein Linux mit Python >3.0??
Rechtschreibfehler sind gewollt und unterliegen dem Copyright des Verfassers, es sei denn, sie sind expliziet unter die GPL gestellt ....

Für "Simutrans-Nightlys" und aktuelle PAK: http://nightly.simutrans-germany.com
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste