ubuntuusers.de

pyo Datei editieren womit oder wie ?

Status: Gelöst | Ubuntu-Version: Ubuntu MATE 22.04 (Jammy Jellyfish)
Antworten |

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4658

Wohnort: Berlin

@DocHifi: Da ist keine Zahl, das ist eine Zeichenkette in der eine Ziffernfolge vorkommt. Das ist ja auch kein Python sondern JavaScript.

DocHifi

(Themenstarter)
Avatar von DocHifi

Anmeldungsdatum:
21. Oktober 2008

Beiträge: 1479

Marc_BlackJack_Rintsch schrieb:

@DocHifi: Da ist keine Zahl, das ist eine Zeichenkette in der eine Ziffernfolge vorkommt. Das ist ja auch kein Python sondern JavaScript.

Es geht um einen Timer, dazu müssen 3 Dateien geändert werden, eine .py, eine .tmpl und eben die.pyo.

Das sollte aber schon Python sein, denn ich kann sie ja mit unkompile6 im Terminal lesen.

Siehe auch hier:

https://gist.github.com/ljaraque/66bf3875d39d9b57abdfaa90529c5a0c

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4658

Wohnort: Berlin

@DocHifi: Das hier: setTimeout(function() { $("#refresh").load(active_tab_url); }, 60000); ist kein Python, das ist JavaScript. Wenn das in der Python-Datei steht, ob nun kompiliert oder nicht, dann ist das in Python eine Zeichenkette die JavaScript-Quelltext enthält.

Die 60000 dort grösser machen, solange die Anzahl der Ziffern gleicht bleibt, ist trivial, denn das wird sich so 1:1 in der kompilierten Datei finden und ändern lassen. Man kann den Wert auch grösser machen als die reine Zahl in Deezimalstellen ist, falls man das in der gleichen (oder weniger) Anzahl von Zeichen irgendwie anders ausdrücken kann. Man könnte die 60000 in Java beispielsweise auch als 6e4 schreiben, oder man könnte überflüssige Leerzeichen aus dem Quelltext in dem Ausdruck entfernen um mehr Platz für die Zahl zu bekommen.

DocHifi

(Themenstarter)
Avatar von DocHifi

Anmeldungsdatum:
21. Oktober 2008

Beiträge: 1479

Das Problem ist, solange ich die Zahl nur in den anderen beiden Dateien ändere, bleibt der Timer immer bei der einen Minute.

Das ist der Timer der die Senderliste im WebIF aktualsiert.

Ich werde den User im VU+ Forum mal fragen wie ich das machen muss.

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4371

Was mir noch eingefallen ist: Vielleicht kann man die py-Datei nur mit der Python-Version kompilieren, die auf dem Gerät läuft. Der Fehler sieht mir zwar nicht danach aus, aber einen Test im venv wäre es Wert.

Wenns nicht stört, dass da was bisschen anders geschrieben wird als original, könnte man auch einfach mal testen. Vielleicht das was danach kommt posten, oder wenn die Datei nicht sehr groß ist, ChatGPT/Phind unter Angabe des Fehlers und der Pythonversion drüberschauen lassen.

DocHifi

(Themenstarter)
Avatar von DocHifi

Anmeldungsdatum:
21. Oktober 2008

Beiträge: 1479

ChatGPT/Phind

Ich rede nur mit Menschen.

Aber das mit der Python Version ist richtig, das hab ich auch ohne KI raus gefunden.

Ich nutze MI, das steht für Menschliche Intelligenz.

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4371

Ok, du kannst dich natürlich auch in die Python-Dokumentation einlesen und wie vorgeschlagen, mal ein schließendes ' setzen.

DocHifi schrieb:

Wieder zu einer .pyo machen wollen, klappt aber nicht, weil:

File "channels.py", line 61
    write(u'<div id="refresh">
          ^
SyntaxError: unterminated string literal (detected at line 61)

Line 61 ist aber identisch.

Ohne das Nachfolgende zu sehen, ist es halt auch für Leute, die Python besser können, schwierig. Im gezeigten ist ja nichtmal eine schließende Klammer. Drum schlage ich vor, zeig was danach kommt, mindestens den ganzen write-Block.

DocHifi

(Themenstarter)
Avatar von DocHifi

Anmeldungsdatum:
21. Oktober 2008

Beiträge: 1479

Ok, du kannst dich natürlich auch in die Python-Dokumentation einlesen

Brauch ich nicht, der User im VU+ Forum hatte mir den Timer in nicht mal 5 Minuten erstellt, also werde ich ihn bitten die Zeit zu erhöhen.

Man muss nicht alles können, man muss nur jemand kennen, der es kann. 😎

Drum schlage ich vor, zeig was danach kommt, mindestens den ganzen write-Block.

Keine Ahnung wo ein Block anfängt und endet, zumal ich in dem Bereich von Zeile 61 überhaupt nichts gemacht habe.

Ich werde wegen dieser Nummer jetzt keinen großen Aufriss machen, ich dachte es gibt halt einen einfachen Weg, diese Datei zu bearbeiten, gibt es aber offenbar nicht.

Es liegt tatsächlich an der Python Version, es müsste 2.7.x sein. hat sich aber inzwischen erledigt.

Antworten |