addCommand(function, name) registriert. function ist hierbei das Funktionsobjekt, name ein String mit dem Namen (ja, noch nicht sehr schlau gelöst.)>Kannst du für Schritt 1 nicht auch so eine requirements.txt-Datei bereitstellen, damit man die Abhängigkeiten halbautomatisch bekommt? Hm, dafür müsstest du deine iostream-Bibliothek natürlich auch auf PyPi veröffentlichen.
für PyQt5 könnte ich es aber machen, ja.>Welchen Vorteil bringt dir ein Präprozessor? Sind Python-ifs nicht für alles ausreichend?
>außerdem ziehen sie an der Performance
>Vllt über eine Uploadseite oder indem man Atlantis Downloadlink(s) schickt.
addScenario, der man einen Link übergibt. Dieser wird dann automatisch ausgewertet, das Szenario wird heruntergeladen und in die Szenarienliste eingetragen.pycrctrl.conf heißt, verwendet. In der befinden sich ich einer JSON-Struktur die einzelnen Einstellungen. Vorlage gibt es hier, später wird PyCRCtrl eine Default-config-File auch selber erstellen können.
Aber auch vom Code-Stil her kommt mir das vor, als gäbe es einen deutlichen C-Einfluss. Statt Präprozessor ist Python-typisch eher, performance-kritische Teile auszulagern und in C zu implementieren. Das muss aber schon sehr kritisch sein, damit das lohnt. Stattdessen kann man ifs sparen, zum Beispiel durch Polymorphismus oder mit Funktionsreferenzen als funktionale Alternative.bool(re.match(self.decodeRegExp(self.config.get("RegExps")["startExp"]), output))-Konstrukte.CmdResult als Enum angelegt, gut so! Ich denke das kannst du beim PyCRCtrl.state auch statt der Strings machen. Wird auf den Zustand eigentlich auch von außen zugegriffen? Vielleicht kannst du dir die Property sparen. Selbst wenn nicht würde ich aber zwecks Lesbarkeit Dekoratoren statt state = property(getState, setState) vorschlagen.self.scenlist[randint(0, len(self.scenlist)-1)] aufgefallen. Das lässt sich zu random.choice(self.scenlist) vereinfachen.>Präprozessor und #ifdefs finde ich kreativ, allerdings unpythonisch. Kommst du aus der C-Welt?
, aber den Präprozessor finde ich ziemlich praktisch. Der jetzige Code würde auch ohne auskommen. (Tut er auch, meine Laien-Implementierung des Präprozessors ist wieder mal kaputt
)>Vom Code insgesamt denke ich, dass er sich noch besser in Module aufteilen lässt; mit iostream hast du ja schon angefangen. Nutzer-Input parsen beispielsweise würde hinter einer schönen API den Code besser lesbar machen, statt der bool(re.match(self.decodeRegExp(self.config.get("RegExps")["startExp"]), output))-Konstrukte.
> Ich denke das kannst du beim PyCRCtrl.state auch statt der Strings machen.
>Stattdessen kann man ifs sparen, zum Beispiel durch Polymorphismus oder mit Funktionsreferenzen als funktionale Alternative.
>Wird auf den Zustand eigentlich auch von außen zugegriffen?

>In Zeile 201 ist mir self.scenlist[randint(0, len(self.scenlist)-1)] aufgefallen. Das lässt sich zu random.choice(self.scenlist) vereinfachen.
>Selbst wenn nicht würde ich aber zwecks Lesbarkeit Dekoratoren statt state = property(getState, setState) vorschlagen.
> Ich habe ehrlich gesagt nicht verstanden, wie ich das in den jetzigen Code gut integrieren kann.
>herunterladet
>Rechtschreibflamewar incoming!
pip install pycrctrl)und mittels eines Limnoria-Plugins in Betrieb nehmen. Konfigurationsdatei sollte er selber anlegen.Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill