Beiträge von QtHelex

    Die Daten aus meiner Vantage habe ich in einer MS-Access.mdb abgelegt, bin auch ganz gut darin mit VBA die EIT Daten zu erzeugen, blos habe ich bisher nichts gefunden wie die EIT-Datein genau aufgebaut sind.



    Und jetzt die Frage an dich: nach dem du ja den edEIT geschrieben hast, könntest du mir bitte den Aufbau der EIT-Dateien zukommen lassen?

    Hallo Joergl,


    Mit VBA kann ich nicht dienen, und mit schreiben von EIT Dateien auch nicht. Aber ich hab im April mir einen eigenen parser geschrieben um EIT Dateien zumindest auszulesen. Ist zwar C++ und Qt, aber vielleicht hilft es Dir zusammen mit der Dokumentation Deine EIT Dateien mit VBA zu erstellen. Ich hab das ganze mal hier online gestellt: parseEIT
    (Rückfragen eventuell auch besser nur dort, das wäre hier etwas Offtopic, hier geht es um edEIT)


    Viel Erfolg und willkommen in der Welt von Enigma2.

    Hallo Forum,


    Ich hatte für meine eigene kleine Datenbankanwendung kürzlich einen parser geschrieben um den Inhalt von *.EIT Dateien auszulesen wie sie von der Dreambox generiert werden.


    Geschrieben wurde das ganze in C++ mit der zu Hilfe nahme von Qt.


    Ich hab das ganze mal zur freien Verfügung online gestellt:
    https://github.com/helex/parseEIT


    Der code ist nicht der schönste, aber vielleicht hilft es ja jemand anderes bei seinem eigenen Projekt. :smiling_face:


    Ich habe mich versucht dabei an den Standard ETSI EN 300 468 zu halten: http://www.etsi.org
    Verwendet habe ich die Version 1.15.1 vom März 2016. Allerdings wird in den Suchergebnissen auf der webseite bereits darauf hingewiesen: "An update is in preparation." - ist nur die Frage was sich ändern würde und ob es den teil mit den EIT Informationen überhaupt betrifft.
    Hier gibt es das bisher aktuellste Dokument: ETSI EN 300 468


    Es gibt zwar noch einen Bug mit bestimmten Zeichencodierungen, da ist dann ein zusätzliches Zeichen in der ausgelesenen Description. Aber mir hatte das erstmal für meine zwecke gereicht gehabt. (volltextsuche funktioniert trotzdem :winking_face: ) Vielleicht such ich demnächst noch nach dem Fehler oder jemand anderes gibt bescheid wo das genau schief geht.


    Viel Spaß damit und beste Grüße,
    QtHelex

    Stand jetzt werde ich in der CLI Version die Felder umdrehen und gut ist.


    Ohje, dann muss ich die ja überall bei mir jetzt vertauschen. :frowning_face:


    Ich glaub dann bleib ich lieber bei der alten Version. Um da alle potentiellen Fehler herauszufischen ist aktuell das Wetter draußen zu schön. :winking_face:
    Die Version läuft jetzt bei mir (bis auf den Titel, aber das hab ich glaub selbst wo verbockt, zieh ich aber eh noch aus dem Dateinamen) und mit Content und Description gerade herumgedreht wird es ja auch nicht richtiger. Dann wäre wieder eines falsch benannt und ich muss bei der Zuordnung zu den Daten vom Enigma2 WebInterface immer noch aufpassen.

    Zu der Inkonsistenz möchte ich Anmerken, dass die Bezeichnung sowie bei edEIT als auch edEITcli schon grundsätzlich nicht ganz korrekt ist.


    Bei meinem kleinen Progrämmchen habe ich auch eine Abfrage des Enigma2 Webinterfaces reingebastelt, und dort entspricht das Feld "Content" von edEITcli dem Feld "Description" <e2eventdescription> und das Feld "Description" dem Feld "DescriptionExtrended" <e2eventdescriptionextended>


    Doku: Enigma2 WebInterface API Documentation


    Falls da ne Fehlerkorrektur erfolgt, würde ich bevorzugen description und descriptionextended zu nutzen. Dann sind wir beim üblichen Enigma2 gebrauch. Das hätte es auch mir etwas erleichtert. :smiling_face:

    So, hab jetzt noch mal ein bisschen getestet. Hab Dein edEIT verwendet und mal ein € Symbol in ne EIT Datei geschrieben.


    Version 1.0.2 - iso-8859-1: kein € Symbol - Es kommt nur ein ? an, somit die Aussage von Klix bestätigt. :smiling_face:


    Version 1.0.3 - iso-8859-15: das € Symbol kommt nicht richtig an, ist ein Kreis mit ein paar strichen drum herum, alle anderen (gängigen) Zeichen sehen aber gut aus, ist eventuell weil Qt aus der Unix Welt kommt, keine Ahnung was Latin1 nun wirklich für ne Codierung ist, bis auf das € Symbol ist mir aber kein Fehler aufgefallen... somit 8859-15 sehr ähnlich.


    Version 1.0.3 - UTF-8: € Symbol kommt an, ein ö hab ich auch schon entdeckt, sieht gut aus :thumbs_up:


    Also ich würde auf jeden Fall empfehlen bei der JSON Ausgabe per default UTF-8 Codierung auszugeben. Dann stolpert da niemand drüber das ein JSON parser UTF-8 erwartet und bei iso-8859-15 manchmal doch mist bei rum kommt. dos und win als codec kannst Du ja optional mit drin lassen. Das wird aber wohl nur bei anderen ausgabeformen als JSON reibungslos funktionieren.


    Nachtrag: Nein, ich rufe edEITcli.exe direkt auf, nicht über cmd.exe - ich empfange die Ausgabe als ByteArray das ich dann in einen String umwandle. Ich greif das also ab bevor das fehlen eines Zeichens in einer Schriftart noch zusätzlich Probleme machen könnte. Also, eigentlich... denn wissen kann man sowas ja nie. :grinning_squinting_face:


    Nachtrag 2: Hab eben nochmal nachgeschaut, hab zufällig sogar "Consolas" als Schriftart in der cmd.exe eingestellt. :smiling_face:

    Nein, iso-8859-1 hat geklappt. Ich muss aber extra nach UTF-8 umwandeln. Ein € Zeichen ist mir aber noch nicht untergekommen. :smiling_face:


    Ich werd mal sehen ob ich morgen kurz Zeit finde. Dann werd ich das gezielt testen und mit der 1.0.3 vergleichen.

    Es gibt einen Unterschied zwischen der Konsolen- und der Dateiausgabe.
    Die Dateiausgabe erfolgt grundsätzlich in UTF-8, weil der JSON-Standard das so möchte.


    Naja, wenn das der JSON-Standard ist, dann frag ich mich weshalb die Konsolenausgabe standardmäßig falsch codiert ist?


    Die Dateiausgabe nutze ich wenn möglich nicht. Bin froh das ich die Konsolenausgabe direkt einlesen kann. Es würde für mich nicht sinn machen eine JSON Datei zu schreiben, einzulesen und direkt wieder zu löschen. Das reduziert nur die Lebensdauer meiner Hardware. :winking_face:


    Ich werd mal morgen mit Deinem neuen Parameter testen ob die UTF-8 Übergabe überhaupt sauber funktioniert. Nicht das da dann ein Zeichen (0x00h z.B.) das ganze scheitern lässt.

    Ich könnte auch einen Schalter hinzufügen, um die Consolen-Ausgabe in UTF-8 auszugeben, wenn dir das eine Konvertierung erspart :winking_face:


    Oh, ich dachte das wäre bei der ersten Version schon der Fall gewesen, hätte nur nicht funktioniert? Ich dachte mal gelesen zu haben das JSON generell UTF8 codiert wäre. Kann aber gut sein das ich das falsch vermerkt hatte oder mit was verwechsle.


    Wir können das ja im Hinterkopf behalten falls es doch noch einen unerwarteten Fehler gibt oder ein anderer User der Dein Programm nutzt um seine EIT Dateien auszulesen Probleme bekommt.
    Alternativ hätte ich noch einen Plan B im Hinterkopf gehabt wenn alle Stricke gerissen wären. B wie Base64. Statt den Parameter JSON hättest Du noch als Alternative B64JSON einführen können, Sprich ein UTF8 JSON Base64 codiert ausgeben (in dem fall zwingend ohne Copyrighthinweis)
    http://www.vbarchiv.net/tipps/…se64-codierung-vbnet.html


    Auf diese Weise wäre (mit ziemlicher Sicherheit) Sichergestellt das Windows in der Konsole keinen zusätzlichen Zeichenkonvertierungsmist einbaut ohne das wir das merken.


    Ist aber denke ich jetzt beides nicht erforderlich. Passt auf den ersten Blick soweit alles.

    Der Größenzuwachs erklärt sich in erster Linie dadurch, dass edEITcli jetzt auch das edEIT-Icon enthält.


    LOL. Okay, darauf hatte ich gar nicht geachtet, das erklärt natürlich einiges. :winking_face_with_tongue:

    @QtHelex


    Probier' mal die neue v1.0.2.
    Ich habe die Ausgabe der Console auf iso-8559-1 (Win) umgestellt. Damit bleiben die Umlaute auch erhalten, wenn man die Ausgabe per ">" in eine Datei umleitet. Ich hoffe, dass dir das hilft.

    Jupp, funktioniert. Muss das ganze jetzt zuerst von Latin1 (was iso-8559-1 entsprechen soll) nach UTF8 konvertieren. Sieht soweit gut aus, hoffe da gibt es zukünftig keine Überraschungen. Ich hasse dieses ganze Codierungs- und Zeichendurcheinander Thema. Was ich damit in der Vergangenheit schon an Zeit verplempert habe...


    @QtHelex
    Ansonsten ist Tag wunschgemäß umbenannt und auch der "quiet"-Parameter umgesetzt.

    Funktioniert beides bestens. Der quiet parameter macht jetzt in meinem Fall den unterschied, dass die Funktion um aus der Kommandozeilenausgabe auszulesen nur 1 mal statt wie bisher 2 mal aufgerufen wird. Der bisher erste Fehlversuch mit dem für JSON ungültigen Inhalt entfällt somit. Spart also ein wenig Rechenzeit.


    Vielen Dank! :smiling_face:


    Eine kleine Frage hätt ich da noch... Deine Änderungen waren jetzt aus meinem Blickwinkel betrachtet nicht überaus Umfangreich. Hast Du eine Idee weshalb Deine edEITcli.exe jetzt fast doppelt so groß wurde im vergleich zur vorherigen Version?

    Tag umzubenennen ist kein Problem. In der nächsten Version werde ich einen Schalter "quiet" mit einbauen, der die Anzeige der (c) Infos deaktiviert.
    Das ist alles easy.

    Ja, das ist schon im Bereich der Schönheitspolitur. :winking_face:


    Zu dem Umlauten:
    Kannst Du das präzisieren?
    In der Anzeige (manuell gestartet) stimmt es doch, oder?

    Ja, in der Konsole stimmt es.


    Genommen habe ich wieder die Terminator EIT Datei die ich Dir schon im anderen Thread als Beispiel schickte.


    Statt einem ö bekomme ich 0x94 hex, eventuell ist das encoding Windows-1252 oder ISO-8859-1? Bei der Interprätation als UTF8 ist sich mein debugger jedenfalls nicht mal sicher ob es 0x94 als positive (148) oder negative (-108) Dezimalzahl deuten soll. Ein erstes googeln ergab das 0x94 ohne zweites Byte davor wohl kein UTF8 Zeichen ist, kann das sein? Ein ö Zeichen müsste eigentlich 0xc3b6 hex sein, 2 Bytes.


    Es gibt bestimmte Zeichen, die in JSON zwingend codiert sein müssen. Gibt es z.B. in einem Text Anführungszeichen, dann würden die ohne Kodierung als Ende des Feldinhaltes interpretiert werden. Gleiches gilt - wenn ich es richtig gesehen habe - für z.B. das Zeichen '.

    Das Zeichen ' wird auch als \u0027 codiert in meinem ByteArray eingelesen und im String dann korrekt in ' umgewandelt. Ohne weiteres eingreifen. Nur die Umlaute nicht. Was das angeht hatte ich mit JSON da bisher unter Qt keine Probleme, alles schien vollautomatisch richtig zu laufen. Deshalb zweifle ich aktuell etwas ob das korrekt codiert ankommt bzw. gesendet wird... :confused_face:


    Nachtrag: Eben nachgesehen, die test.json Datei die Du mir geschickt hast und die ich problemlos einlesen konnte encodiert das ö auch als 0xC3 0xB6 hex.


    Nachtrag 2: Bei einer Ausgabe in eine Datei statt Konsole stimmt die kodierung des ö auch. Nur beim einlesen der Konsolenausgabe wird aus dem 0xc3b6 ö ein 0x94 hex. :loudly_crying_face:

    Update V1.0.1 :winking_face:


    - Starttime sieht jetzt so aus: "Starttime":"2017-12-22T22:10:00"
    - Zusätzliche Attribute "Language" und "ServiceReference"

    Super, danke! :smiling_face:


    Hab nun auch ne Frühschicht eingeschoben und meine eigentliche To-Do-Liste für heute hinten angestellt... der Baumarkt macht eh erst um 8 Uhr auf. :winking_face::smiling_face_with_halo:


    Beim eingehenden Testen funktionierte bis auf ein Problem soweit alles astrein. Das Datum wird auch korrekt eingelesen. Ich muss nur was das starten in einem separaten Prozess angeht noch etwas optimieren... das läuft aktuell noch total aus dem Ruder. :upside_down_face:


    Ich würde nur vorschlagen das letzte Element "Tags" zu nennen statt "Tag", da hier ja mehrere Tags möglich sind.


    Zudem würde ich Vorschlagen darüber nachzudenken den Vorangestellten Copyrighthinweis bei den JSON Ausgabe weg zu lassen.
    Für mich kein Problem, da es überraschenderweise durch die aufgeteilte Ausgabe in 2 String Blöcken vollautomatisch rausgefiltert wird... aber ich könnte mir vorstellen das das bei anderen die eventuell mal dein edEITcli nutzen wollen zu Problemen führen könnte. Also für mich selbst macht es keinen Unterschied. :smiling_face:


    Ich habe nur noch ein Problem. Und das betrifft die Umlaute. Diese werden nicht korrekt eingelesen. :thinking_face:


    Nimmst Du da eventuell gerade noch ne Umwandlung vor bevor diese in den JSON Serializer geschoben werden? Mit Deinem clitest.exe hat es problemlos funktioniert gehabt.

    @QtHelex
    Die Version gibt mehr aus, als Du ursprünglich wolltest.
    Ich hoffe, das ist kein Problem für dich :winking_face:


    Mehr ist immer mehr! :grinning_squinting_face:


    Aber ich vermisse ein wenig "Language" und "Service Reference". Meiner Meinung nach durchaus verwertbare Daten.


    @QtHelex
    Fehlt die .ts.meta, dann ist das "Tag"-Attribut trotzdem da, allerdings mit Wert "null". Das entspricht dem JSON-Standard.
    Das Gleiche gilt für die UserID, wenn keine mitgegeben würde.


    Okay, war mir dessen nicht bewusst. Werde mal sehen wie ich dann im Detail damit umgehe, "null" mochte ich bei SQL schon nie. :winking_face:


    Ansonsten sieht das auf den ersten Blick schon verdammt gut aus. Hab jetzt nur 40 Minuten Zeit verplempert da ich in der Kommandozeile wie gewohnt den Parameter für den Dateinamen in " übergeben muss wegen den Leerzeichen, von meinem Programm aus komischerweise nicht, und mit den Pflichtgemäß eingefügten Anführungszeichen meinte Dein Programm partou "File not found". :upside_down_face:


    Hab morgen ne längere to-do Liste. Hoffe mich gegen Nachmittag nochmal hinsetzen zu können. Aber ich denke das parsen des JSON wird bestimmt reibungslos klappen. Nur das Feld "Starttime" gefällt mir persönlich gar nicht. Da wäre mir etwas regionalcode und international unmissverständlicheres deutlich lieber. Hab eben nachgelesen das JSON Datum und Zeit garnicht offiziell unterstützt, Sekunden seit 1.1.1970 0:00 UTC wäre mir aber fast am liebsten, meine zweite Wahl wäre ein Format nach ISO 8601. Da muss ich aber noch gucken ob ich das lesen kann https://stackoverflow.com/ques…he-right-json-date-format
    Eventuell wäre ein zweites Feld "Starttimestamp" eine option. Dann hat derjenige der dein edEITcli nutzt die Wahl.


    Auf jeden fall Herzlichen Dank schon mal! :thumbs_up:

    Der JavaScriptSerializer funktioniert aber super und inkl. Zeilenumbrüche :smiling_face:


    Hiermit bestätigt. Ließ sich jetzt sauber unter Qt einlesen und sieht soweit gut aus. Umlaute sind im Debugger sauber zu lesen, somit müsste alles passen. Nur in der späteren Version würde ich bevorzugen die ID in einem String verpackt zurück zu bekommen, nur um es universeller zu machen und der Parameter der an Dein Programm übergeben wird nicht zwingend eine Nummer sein muss.


    Was mir jetzt nur noch in den Sinn kam ist, was wenn sich über die CLI kein UTF8 übertragen (auslesen) lässt. Aber ich fürchte das sehen wir dann...


    edit2: Ich denke, ich hab' jetzt alles, was ich brauche und werde mich in den nächsten Tagen an die Arbeit machen.


    Lass Dir Zeit und genieße die Festtage. Und Danke schon mal für die schnelle Rückmeldung und das Super EIT Tool! :smiling_face_with_heart_eyes:


    edit2: Ich denke, ich hab' jetzt alles, was ich brauche und werde mich in den nächsten Tagen an die Arbeit machen.

    Prima. :smiling_face:


    Wenn Du magst kannst Du ja noch das Beispiel oben als Datei hochladen. Dann kann ich mal sehen ob äöü bei mir auch richtig eingelesen werden. Allerdings könnte das sein das das heute bei mir nimmer klappt und die nächste 3 Tage höchstens zwischendurch mal. :winking_face:


    Wundern tut mich etwas das Du JavaScriptSerializer verwendest. Was ist denn der Unterschied zu DataContractJsonSerializer? Ich bin da nicht so in der VB.NET Doku drin, aber beim einen kommt zumindest Json im Namen vor, auch wenn das andere sich prinzipiell auch gut anhört, immerhin stehen ja die ersten beiden Buchstaben von JSON für JavaScript. :upside_down_face::face_with_open_mouth:

    Wundert mich jetzt auch. Aber eventuell liegt es daran das der Text als UTF8 in der Zwischenablage landet und dann von dort aus hier so eingefügt wurde. :confused_face:


    In dem QByteArray in meinem Code landet es jedenfalls noch als UTF-8 encoded JSON. Aber da Windows auch mit UTF-8 in der Zwischenablage umgehen kann... mmmh... okay, wenn Du das DataContractJsonSerializer von VB.NET nimmst wird der hoffentlich das JSON so ausspucken das QJSON bei mir das richtig einlesen kann. :grinning_squinting_face::face_with_open_mouth:

    Danke für Deine ausführlichen Erläuterung. Genau so hatte ich mir das vorgestellt.


    Ein paar Sachen muss ich mir noch durch den Kopf gehen lassen und auch abklären, wie ich VB dazu bekomme JSON zu erzeugen.
    Werde mir mal JsonSerialization ansehen.

    Ja, ich war eben selbst erstaunt wie wenig VB.NET in der Richtung bietet.


    Aber ich denke mit dem Microsoft eigenen DataContractJsonSerializer müsste alles nötige abgedeckt werden:
    https://msdn.microsoft.com/de-…serializer(v=vs.110).aspx


    Die Erkennung, ob eine .ts.meta vorhanden ist, ist einfach.
    Sollte keine vorhanden sein, gibt es zwei Optionen:
    a) Die zugehörigen Felder werden einfach im JSON weggelassen (wäre mein Vorschlag)
    b) Die zugehörigen Felder werden leer im JSON aufgenommen.

    Ich wäre auch für Variante A.


    Ist zwar unter umständen dann so das man beim auslesen schauen muss ob das Feld da ist oder nicht. Aber Variante B hätte dann immer noch die Möglichkeit das die Datei vorhanden, aber die Felder leer sind. Also A wäre sicher besser, die Felder weglassen wenn die .ts.meta fehlt. Das ist aussagekräftiger.


    Sehe ich das richtig, dass die Reihenfolge der einzelnen Attribute im JSON keine Rolle spielt?


    Ja, prinzipiell schon.


    Ich habe das ganze quick & dirty so erzeugt:

    Wie Du siehst hab ich in meinem Quellcode die Datenfelder mehr oder weniger nach Wichtigkeit sortiert, oder zumindest so wie es mir in den Sinn kam. Im Ergebnis was dann in der Zwischenablage landete waren die Felder aber alphabetisch sortiert.


    Bezüglich der Startzeit hab ich das Format gewählt, weil es die Dreambox auch über das Webinterface in den XML Dateien so drin hat. (falls ich mich da gerade nicht vertue)
    Hier die Dokumentation aus der Qt Hilfe:


    Da steht zwar deprecated, aber mSecsSinceEpoch ist eine viel zu große Zahl (64 Bit Integer) die nicht in JSON gespeichert werden kann, außer als String.

    Ich denke mehrere EIT in einem Rutsch bräuchte ich nicht, aber JSON unterstützt auch arrays falls Du das doch Vorsorglich einpflegen möchtest. Da stehen dann mehrere Blöcke mit gleichen Parametern in [ , , , ] klammern. Aber ich denke das verkompliziert dann alles nur unnötig.


    Mein Vorschlag wäre edEIT nach folgendem Muster zu starten:


    edEIT.exe JSON [path] [optional identifier]


    edEIT.exe JSON "x:\Dreambox\20171222 2200 - RTL2 - Terminator.eit" "78"

    • Der Parameter JSON damit Dein Programm informiert ist das es jetzt nur um das auslesen geht.
    • Der path ist der Pfad zur EIT Datei.
    • Der optionale Parameter ist ein kurzer String den Dein Programm (falls mit übergeben) unverändert wieder in der JSON zurück geben sollte.

    Mein Gedanke ist dabei in einem oder mehreren seperaten Prozessen in Dauerschleife edEIT zu starten, die EIT Dateien auslesen zu lassen und den Rückgabewert in einer Datenbank zu speichern. Über den zuvor mit gegebenen und in der JSON wieder zurück gegebenen String würde ich in meinem falle die ID Nummer hinterlegen und dann einfach unter der ID blind den Inhalt der EIT speichern, ohne genau überwachen zu müssen welche Datei gerade von welcher edEIT Instanz in welchem Prozess abgearbeitet wurde.


    Die Rückgabe sähe dann so aus:


    Bevorzugen würde ich aber die Compact Darstellung: (keine Ahnung wie das beim JSON parser von .NET heißt)


    {"Content":"Maschinen regieren die Welt im Jahr 2029. Nur wenige Rebellen widersetzen sich dem Computer 'Skynet'. Um den Anführer der Widerständler, John Connor, auszuschalten, schickt Skynet einen Cyborg in die Vergangenheit. Der Terminator soll Sarah Connor, die Mutter des ungeborenen Rebellen, töten.\nIMDb rating: 8/10.","Description":"Sci-Fi-Film. Eine Killermaschine aus dem Jahr 2029 wird ins heutige L.A. entsandt, um eine Frau zu töten. Ein aus der Zukunft kommender Beschützer versucht dies zu verhindern.","Duration":130,"EventID":6861,"ID":"78","Language":"ger","Service Reference":"1:0:1:2F49:A1:270F:FFFF0000:0:0:0:","Starttime":1513977000,"Tags": "Film","Title":"Terminator"}


    Wie Du siehst sind einige Sachen enthalten die in Wirklichkeit aus der META Datei kommen und nicht aus der EIT wie beispielsweise die Tags. Falls keine META Vorhanden ist müsste man diese Informationen dann eben leer oder ganz weg lassen. Bin mir nicht sicher was besser ist. Eventuell ist ganz weg lassen besser, dann kann man anhand des Fehlens des "Service Reference" Feldes erkennen das gar keine META Datei vorhanden war, ansonsten könnte es ja sein das diese Information in der Datei einfach nur fehlte. (warum auch immer)


    In jedem falle würde ich Dir Raten den JSON string nicht selbst zu erzeugen. Gerade wegen der Umsetzung von Zeilenumbrüchen, Sonderzeichen und dergleichen fiesen Spielchen. .NET unterstützt bestimmt die Erzeugung von JSON Objekten und wenn diese gefüllt sind, kann man diese Standardkonform in einen String umwandeln den ich dann von meinem JSON Objekt parsen lassen kann.


    Im Anhang die EIT und Meta Dateien die ich für das Beispiel verwendet habe. Den einen Zeilenumbruch im Content Feld habe ich kurzerhand selbst eingefügt und von Deinem Programm schreiben lassen, ebenso den Tag. Beides war im Original nicht vorhanden. Die Umsetzung innerhalb von JSON über die Escapesequenz \n für Zeilenumbrüche zeigt aber das Du Dir darüber dann keine Sorgen machen müsstest.


    Ich hoffe meine Idealvorstellungen hab ich jetzt wunschgemäß genau genug definiert. Meiner Meinung nach müsste Kanzler1959 in seinem Python Skript damit dann auch was anfangen können und es ist hoffentlich flexibel und umfangreich genug für jeden anderen der sowas mal brauchen könnte.

    Jupp, hat funktioniert. Hat aber erschreckend lange gedauert bis ich das Ergebnis Deiner CLI auch auslesen konnte. Starten war kein Problem... :upside_down_face:


    Im Prinzip wäre für mich das optimum wenn Dein Programm mit bestimmtem Parameter aufgerufen einfach eine JSON in der compact Darstellung zurückgibt. Das ist dann komplett ohne Zeilenumbruch. Und laut Onkel Google kann Python auch mit JSON umgehen.


    Wenn Du magst, dann kann ich dir eine kleine .exe erstellen, das ein "Hello world" als Text ausgibt. Damit könntest du testen, ob du die exe einbinden und das Ergebnis abfangen kannst.

    Das wäre super und ein Versuch wert.


    Ich könnte dann quasi später mal Dein edEIT mit dem Dateinamen als Parameter starten, Dein Programm startet unsichtbar im Hintergrund, öffnet die EIT und gibt beim direkt darauf folgenden schließen den Inhalt beispielsweise als JSON String zurück. So Dein Gedanke?


    Hört sich wenn es funktioniert auch nach einer brauchbaren Lösung für Python Skripte an. :smiling_face: