![]() |
MOSE - MakeObj Script Environment - Druckversion +- Deutsches Simutransforum (https://simutrans-forum.de/mybb) +-- Forum: Simutrans (https://simutrans-forum.de/mybb/forumdisplay.php?fid=3) +--- Forum: Nützliche Programme (https://simutrans-forum.de/mybb/forumdisplay.php?fid=37) +--- Thema: MOSE - MakeObj Script Environment (/showthread.php?tid=4266) |
- Cruzer - 11-06-2009 Zitat:Original von wernieman 2. Das ist so vorgesehen. Damit die faulen Windows Benutzer das Programm auch per Doppelklicken starten können, und das Fenster nicht immer gleich wieder verschwindet. Lässt sich aber lösen: Code: echo exit>./tmp.txt Zu 1. fällt mir selbst nichts ein. - wernieman - 12-06-2009 Ich kenne python zu wenig .. kann ich Dir trotzdem helfen? bzw. welche info brauchst Du? - Cruzer - 12-06-2009 Eben kam mir eine Idee. In Windows würde das erstellen eines Verzeichnisses namens "xyz" bewirken, das im aktuellen Arbeitsverzeichnisses das Verzeichnisses "xyz" angelegt. Soweit ich weiß bewirkt dies in Linux jedoch einen Fehler, denn da müsste man das wie folgt angeben: "./xyz" um zum gleichen Ergebnis zu kommen. Wenn dies der Fehler sein sollte, das lässt sich das sehr einfach beheben. Um zu testen ob dies der Fehler ist, starte MOSE im Interaktiven Modus (=mose.py starten ohne eine Datei zu übergeben) und gib folgendes ein: Code: mkdir ./xyz Und dann überprüfe ob die Verzeichnisse erstellt wurden (Im Interaktiven Modus mit dem Befehl "ls"). Wenn ja, dann ist das Problem gelöst. (Denn in dem MOScript "makeALL.mos" werden alle Verzeichnisse durch "mkdir xyz" (also ohne dem "./", was unter Linux villt. einen Fehler auslößt.) erstellt.) Sobald du dazu gekommen bist, poste bitte hier dein Ergebnis, danke! - TonyBzt - 13-06-2009 Zitat:Original von Cruzer Du könntest für mose z.B. einen wahlfreien Parameter einführen, der nach Abarbeitung des Makefiles ein exit ausführt (oder einen Exit-Befehl in das Makefile einfügen ). Das wäre vom Betriebssystem unabhängig. Wenn Du im Source für den Aufruf der Klasse und dem Command-Loop folgendes schreibts: Code: """ kann man Deine Klasse und deren Methoden auch in anderen Programmen benutzen. Ich habe Dein Problem mit den Unterverzeichnissen nicht ganz verstanden. Wenn es ein Problem mit den Slashes ist (/ oder \ ) dann kannst Du den Wert os.sep benutzen. Bei Linux hast Du dann den / und bei Windows den \ als Separator. Ich benutze dies in meinen Scripts um vom OS unabhägig zu sein (oder werden). - Cruzer - 13-06-2009 Danke TonyBZT für deine Tipps! An den / und \ sollte es nicht liegen. @Werner: Habe mir selbst eine Linux Distribution Installiert und dort funktioniert es. Was hast du denn in Zeile 4 eingetragen: Code: !OUTPUT=D:/bin/simutrans/pak192.comic/ Vielleicht fehlt bei dir der letzte "/", denn der ist drigendnötig, da in den Nachfolgenden Befehlen "mkdir %OUTPUT%config/" davon ausgegangen wird, das der / angehängt ist. - wernieman - 15-06-2009 Ups .. habe aus versehen gelöscht .... Kann sein das es am letzten "/" lag .. schaue ich nach! - The Transporter - 16-06-2009 Hilfe zu Python, allerdings zur Version 2.5 gibt es hier Und andere Bücher hier - Cruzer - 18-06-2009 Neue Version hochgeladen: Version 0.3.2 Download siehe 1.Beitrag Die Version läuft nun auf Werners Nightly Server und wird in den nächsten Nightlys verwendet! Änderungen: ADD: Wird "mose.py" mit Parameter "-x" aufgerufen, wird es nun nach ausführen des Scripts automatisch beendet. CHANGE: Alle Einstellungen, die man bissher mit dem Befehl "config" verändern konnte, kann man jetzt direkt als Variable verändern. - wernieman - 18-06-2009 Hinweis: Nicht nächsten, sondern nächste Woche .. kleiner aber feiner Unterschied ;o) - Cruzer - 15-07-2009 Neue Version hochgeladen: Version 0.4.0 Download: http://moscript.sf.net/ Neu dabei ist für Windows ein Setup-Assistent, welcher sich selbständig einrichtet. Bei der Installiation durch den Setup-Assistenten ist es nun auch möglich *.mos Dateien durch einfaches anklicken zu starten. Eine vollständige deutsche Befehslreferenz befindet sich nun auch im MOSEWiki Detailierte-Änderungen: Siehe SF.NET Changelog Bereits Bekannter Bug: Auf meiner Linux Installiation, fehlen MOSE die Rechte andere Programme auszuführen. Wenn ich es aber als SuperUser (sudo) starte, läuft es fehlerfrei. Dies tritt bei mir jedoch bei jeder bissherigen MOSE installiation auf. Vielleicht liegt es auch nur an einer Fehlerhaften Linux konfiguration meinerseits. |