So ich bin Neuling hier und jetzt weiß ich nicht wo ich das am besten reinstellen sollte..
Meine erste Frage:
Kann man einen Klick auf einen Button simulieren und diesen dann alle z.B. 10 sekunden wiederholen?
Meine zweite Frage:
Wie kann man ein JavaScript in einem Python Script aufrufen..
ich danke schon jetzt mal für die Antworten
mfg RA
Fragen zu Python
Gab hier neulich ein TKinter Beispiel dazu. Musst mal n'bisschen suchen. Habs auf die Schnelle nicht gefunden.Kann man einen Klick auf einen Button simulieren und diesen dann alle z.B. 10 sekunden wiederholen?
Vielleicht mit subprocess. Solltest Du Win oder Mac Nutzer sein, kannst Du Dir das Binary von http://www.stanford.edu/class/cs242/spidermonkey/ downloaden.Wie kann man ein JavaScript in einem Python Script aufrufen.
-
- User
- Beiträge: 9
- Registriert: Montag 20. Juli 2009, 09:22
Danke erstmal für die Antwort..
da ich auch noch ein Anfänger in Sachen Python bin kann ich jetzt mit "TKinter" nichts anfangen.. ich werde mal ein bisschen suchen aber wenn jemand konkretere Lösungsvorschläge hätte wäre das super.
zu dem Thema JavaScript einbinden, die Frage hab ich blöd gestellt, eigentlich meinte ich wie man das online einbinden kann , also man hat ne HTML Page, nen JavaScript , PythonQuelltext und wie man dann im Pythonquelletxt eine JavaScript Funktion aufruft.
mfg RA
da ich auch noch ein Anfänger in Sachen Python bin kann ich jetzt mit "TKinter" nichts anfangen.. ich werde mal ein bisschen suchen aber wenn jemand konkretere Lösungsvorschläge hätte wäre das super.
zu dem Thema JavaScript einbinden, die Frage hab ich blöd gestellt, eigentlich meinte ich wie man das online einbinden kann , also man hat ne HTML Page, nen JavaScript , PythonQuelltext und wie man dann im Pythonquelletxt eine JavaScript Funktion aufruft.
mfg RA
Ich könnte da die Engine WebKit empfehlen. Läuft sowohl unter PyGtk als auch unter PyQt. Du machst dir dann ein Fenster, wo du die Seite lädst und dann auf den Kontext zugreifst, um deine Funktionen darauf auszuführen. In diesem Thread habe ich mal sowas in der Art gemacht.
Falls du Buttons von Webseiten meinst, solltest du dir mal mechanize anschauen (eine Suche im Forum sollte genug dazu ausspucken).
Falls du Buttons von Webseiten meinst, solltest du dir mal mechanize anschauen (eine Suche im Forum sollte genug dazu ausspucken).
-
- User
- Beiträge: 9
- Registriert: Montag 20. Juli 2009, 09:22
Danke erstmal für die Antworten.
Also ich habs jetzt mal hiermit Probiert:
Aber irgendwie geht das nicht. Ich bin in Sachen Python absoluter Anfänger also würde ich mich sehr über jede nur erdenkliche Hilfe freuen.
Also ich habs jetzt mal hiermit Probiert:
Code: Alles auswählen
<%
req.write('<form name = "form" action="/.py?application=camera&action=take_picture_silent" method="post"><br><input name = "button1" class="submitButton" value="Bild manuell aktualisieren" type="submit"></form>')
req.write('<div style="margin:1em" id="imagebox"><img id="cameraimage" alt="" src="' + controller.link(action='get_image', params={'__':str(time.time())}) + '" /></div>')
forms = get_document().forms
form = forms[0]
form.submit()
%>
"Irgendwie geht das nicht" ist eine äußerst schlechte Beschreibung für einen Fehler. Was genau kommt denn für ein Fehler und was ist die erwartete Ausgabe?
Da Du erst angefangen hast: Hast du das offizielle Python-Tutorial schon durchgearbeitet?
Da Du erst angefangen hast: Hast du das offizielle Python-Tutorial schon durchgearbeitet?
Das Leben ist wie ein Tennisball.
@Rise Against:
Dein Code sieht irgendwie nach Webframework aus, das <% %> und req.write() erinnert mich an mod_python.
Ohne nähere Hintergrundinformation bzw. Fehlermeldung kann Dir keiner sagen, was da nicht geht.
Was ist controller, wo kommt get_document() her?
Noch ein Wort zu mod_python:
Um halbwegs standardkonform zu sein, sollte man nicht mit mod_python arbeiten und schon garnicht anfangen, eigene Handler oder psp-Seiten zu schreiben. Der Netzentwicklungszug fährt in Python schon eine Weile in Richtung WSGI, mit mod_python machst Du Dir nur das Leben schwer
Dein Code sieht irgendwie nach Webframework aus, das <% %> und req.write() erinnert mich an mod_python.
Ohne nähere Hintergrundinformation bzw. Fehlermeldung kann Dir keiner sagen, was da nicht geht.
Was ist controller, wo kommt get_document() her?
Noch ein Wort zu mod_python:
Um halbwegs standardkonform zu sein, sollte man nicht mit mod_python arbeiten und schon garnicht anfangen, eigene Handler oder psp-Seiten zu schreiben. Der Netzentwicklungszug fährt in Python schon eine Weile in Richtung WSGI, mit mod_python machst Du Dir nur das Leben schwer

Zuletzt geändert von jerch am Montag 20. Juli 2009, 12:22, insgesamt 1-mal geändert.
-
- User
- Beiträge: 9
- Registriert: Montag 20. Juli 2009, 09:22
Also.
Die erwartete Ausgabe wäre das er das Formular
nocheinmal abschickt ohne das man auf den Button klicken muss
Fehlermeldung ist das ein Internal Server Error kommt.
Und im Error lOg steht
Die erwartete Ausgabe wäre das er das Formular
Code: Alles auswählen
req.write('<form name = "form" action="/.py?application=camera&action=take_picture_silent" method="post"><br><input name = "button1" class="submitButton" value="Bild manuell aktualisieren" type="submit"></form>')
Fehlermeldung ist das ein Internal Server Error kommt.
Und im Error lOg steht
Ich hoffe das ist was du meinstPythonHandler index: Traceback (most recent call last):, referer: http://192.168.1.70/.py?application=camera
PythonHandler index: File "c:\\resource\\mod_python\\apache.py", line 395, in HandlerDispatch\n result = object(req), referer: http://192.168.1.70/.py?application=camera
PythonHandler index: File "E:/Data/Web server/htdocs/index.py", line 13, in handler\n result = hrh.handler(req), referer: http://192.168.1.70/.py?application=camera
PythonHandler index: File "J:\\Framework\\HttpRequestHandler.py", line 102, in handler, referer: http://192.168.1.70/.py?application=camera
PythonHandler index: File "J:\\Framework\\WebAppController.py", line 130, in get_content, referer: http://192.168.1.70/.py?application=camera
PythonHandler index: File "J:\\Framework\\WebAppController.py", line 177, in _build_view, referer: http://192.168.1.70/.py?application=camera
PythonHandler index: File "c:\\resource\\mod_python\\psp.py", line 243, in run\n exec code in global_scope, referer: http://192.168.1.70/.py?application=camera
PythonHandler index: File "E:\\Data\\Web server\\htdocs\\Web_Applications\\Camera\\viewer\\picture.psp", line 27, in ?, referer: http://192.168.1.70/.py?application=camera
PythonHandler index: NameError: name 'get_document' is not defined, referer: http://192.168.1.70/.py?application=camera
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Die Fehlermeldung ist doch eindeutig:
"NameError: name 'get_document' is not defined"
aber abgesehen davon vermute ich, das hier ein Grundlegendes Verständnisproblem vor liegt, was das Zusammenspiel zwischen HTML, JavaScript und Webservern angeht.
Der Webserver benutzt in deinem Fall Python, um HTML Seiten zu generieren. Dabei werden Strings (das rote in deinem Ausschnitt) zum Browser des Benutzers geschickt. Der Webserver hat aber keinen Plan, was in diesen Strings drin steht. Für ihn ist das nur einfacher Text. So etwas wie Formulare und DOM-Bäume gibt es erst, wenn der Text auf Browserseite interpretiert wird. Daher macht der Code in Zeile 5 bis 7 auch keinen Sinn. Das ist JavaScript und hat im Python-Code nix verloren.
"NameError: name 'get_document' is not defined"
aber abgesehen davon vermute ich, das hier ein Grundlegendes Verständnisproblem vor liegt, was das Zusammenspiel zwischen HTML, JavaScript und Webservern angeht.
Der Webserver benutzt in deinem Fall Python, um HTML Seiten zu generieren. Dabei werden Strings (das rote in deinem Ausschnitt) zum Browser des Benutzers geschickt. Der Webserver hat aber keinen Plan, was in diesen Strings drin steht. Für ihn ist das nur einfacher Text. So etwas wie Formulare und DOM-Bäume gibt es erst, wenn der Text auf Browserseite interpretiert wird. Daher macht der Code in Zeile 5 bis 7 auch keinen Sinn. Das ist JavaScript und hat im Python-Code nix verloren.
Zuletzt geändert von Defnull am Montag 20. Juli 2009, 12:32, insgesamt 1-mal geändert.
Bottle: Micro Web Framework + Development Blog
Du kannst in der Apache-Config PythonDebug=True setzen, dann erhältst Du einen Traceback bei mod_python für Error 500.
Ich betone es nochmal, falls es hier nicht um Code-Maintenance geht, solltest Du einen Bogen um native mod_python-Spielereien machen.
Ich betone es nochmal, falls es hier nicht um Code-Maintenance geht, solltest Du einen Bogen um native mod_python-Spielereien machen.
Zuletzt geändert von jerch am Montag 20. Juli 2009, 12:31, insgesamt 1-mal geändert.
-
- User
- Beiträge: 9
- Registriert: Montag 20. Juli 2009, 09:22
Das ist kein Apache - Webserver. Es ist ein Webserver der am Handy läuft.
Es geht darum auf die Kamera zuzugreifen ein Foto zuschießen und das alle 5 Minuten zu wiederholen und schließlich dieses Bild am Bildschirm anzuzeigen
Es geht darum auf die Kamera zuzugreifen ein Foto zuschießen und das alle 5 Minuten zu wiederholen und schließlich dieses Bild am Bildschirm anzuzeigen
-
- User
- Beiträge: 9
- Registriert: Montag 20. Juli 2009, 09:22
Also der Webserver läuft am Handy. Und am Pc rufe ich mittels Firefox die Daten vom Webserver ab. Eine Verbindung zwischen den beiden besteht über ein Ad-Hoc Netzwerk.
Am Handy? Wenn Du den Fernseher einschaltest und einen Film schaust, läuft der dann auch am Fernseher?
Wie auch immer, Dein Server, egal wo der jetzt zu verorten ist, ist ein Apache mit mod_python, zumindest sagt das die Fehlermeldung.
Zu Deiner Fragestellung:
Falls es den Requesthandler für die Bilderzeugung schon gibt, könntest Du einfach das Formular mittels Javascript erneut abschicken lassen. Das passiert dann aber nicht in Python sondern clientseitig im Browser.
Wie auch immer, Dein Server, egal wo der jetzt zu verorten ist, ist ein Apache mit mod_python, zumindest sagt das die Fehlermeldung.
Zu Deiner Fragestellung:
Falls es den Requesthandler für die Bilderzeugung schon gibt, könntest Du einfach das Formular mittels Javascript erneut abschicken lassen. Das passiert dann aber nicht in Python sondern clientseitig im Browser.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Die eigentliche Frage ist eigentlich: Was magst du eigentlich machen? Wie Defnull vermute ich hier ein massives Verstaendnisproblem und da sollten wir erstmal klarstellen welches Problem ueberhaupt geloest werden soll.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 9
- Registriert: Montag 20. Juli 2009, 09:22
Also ich will, das wenn die Seite aufgerufen wird, das Forumlar alle 10 sek wieder neu verschickt wird, also entweder indem man auf den Submit Button klickt oder das das Formular einfach so verschickt wird über eine Funktion
Die Beschreibung sollte noch ein wenig höher ansetzen:
- Was willst du mit dem Programm (in seiner Gesamtheit) machen?
- Muss es unbedingt ein Webserver sein oder nutzt du diesen einfach? Wäre ein eigener Client bzw. Server nicht besser?
- Was willst du mit dem Programm (in seiner Gesamtheit) machen?
- Muss es unbedingt ein Webserver sein oder nutzt du diesen einfach? Wäre ein eigener Client bzw. Server nicht besser?
Das Leben ist wie ein Tennisball.
-
- User
- Beiträge: 9
- Registriert: Montag 20. Juli 2009, 09:22
Das Programm sollte über den Webbrowser abrufbar sein. Es sollte per Buttonklick mit dem Handy ein Bild machen und anzeigen und das am besten alle 10 sekunden aktualisieren.