Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
MOSE - MakeObj Script Environment
#21
Zitat:Original von wernieman
2 Probleme

1. Es werden keine Unterverzeichnise eingerichtet
2. Das Script wird nicht automatisch beendet

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
mose_nightly.py makeall.mos <exit
del ./tmp.txt

Zu 1. fällt mir selbst nichts ein.
Ex-Entwickler und Gründer des pak192.comic, Betreiber von Simutrans Hosting
Zitieren
#22
Ich kenne python zu wenig .. kann ich Dir trotzdem helfen?

bzw. welche info brauchst Du?
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
#23
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!
Ex-Entwickler und Gründer des pak192.comic, Betreiber von Simutrans Hosting
Zitieren
#24
Zitat:Original von Cruzer
Zitat:Original von wernieman
2 Probleme

1. Es werden keine Unterverzeichnise eingerichtet
2. Das Script wird nicht automatisch beendet

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
mose_nightly.py makeall.mos <exit
del ./tmp.txt

Zu 1. fällt mir selbst nichts ein.

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:
"""

Run MakeScript class

"""

if __name__ == "__main__":

    mose = MakeScript(sys.argv)

    mose.cmdloop()

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).
Zitieren
#25
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.
Ex-Entwickler und Gründer des pak192.comic, Betreiber von Simutrans Hosting
Zitieren
#26
Ups .. habe aus versehen gelöscht ....

Kann sein das es am letzten "/" lag .. schaue ich nach!
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
#27
Hilfe zu Python, allerdings zur Version 2.5 gibt es hier
Und andere Bücher hier
Zitieren
#28
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.
Ex-Entwickler und Gründer des pak192.comic, Betreiber von Simutrans Hosting
Zitieren
#29
Hinweis: Nicht nächsten, sondern nächste Woche .. kleiner aber feiner Unterschied ;o)
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
#30
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.
Ex-Entwickler und Gründer des pak192.comic, Betreiber von Simutrans Hosting
Zitieren


Gehe zu:


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