[Python-de] python-de Nachrichtensammlung, Band 63, Eintrag 5

Franz Rittmannsberger rittmannsberger at 4a.co.at
Mo Jul 7 13:05:42 UTC 2008


python-de-request at python.net schrieb:
> Um E-Mails an die Liste python-de zu schicken, nutzen Sie bitte die
> Adresse
>
> 	python-de at python.net
>
> Um sich via Web von der Liste zu entfernen oder draufzusetzen:
>
> 	http://python.net/mailman/listinfo/python-de
>
> oder, via E-Mail, schicken Sie eine E-Mail mit dem Wort 'help' in
> Subject/Betreff oder im Text an
>
> 	python-de-request at python.net
>
> Sie koennen den Listenverwalter dieser Liste unter der Adresse
>
> 	python-de-owner at python.net
>
> erreichen
>
> Wenn Sie antworten, bitte editieren Sie die Subject/Betreff auf einen
> sinnvollen Inhalt der spezifischer ist als "Re: Contents of python-de
> digest..."
>
>
> Meldungen des Tages:
>
>    1. Python-Stammtisch in Leipzig, 08.07.2008, 20:00 Uhr (Mike Müller)
>    2. 'Pointer' auf eine @staticmethod-function (Dieter Neubauer)
>    3. Python-Anwendungen im Browser (Franz Rittmannsberger)
>    4. Re: 'Pointer' auf eine @staticmethod-function (Diez B. Roggisch)
>    5. Re: Python-Anwendungen im Browser (Diez B. Roggisch)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Mon, 07 Jul 2008 07:26:29 +0200
> From: Mike Müller <mmueller at python-academy.de>
> Subject: [Python-de] Python-Stammtisch in Leipzig, 08.07.2008, 20:00
> 	Uhr
> To: python-de at python.net
> Message-ID: <4871A905.8030406 at python-academy.de>
> Content-Type: text/plain; charset=windows-1252; format=flowed
>
> == Leipzig Python User Group ===
>
> Wir treffen uns am Dienstag, 08.07.2008 um 20:00 Uhr
> im Schulungszentrum der Python Academy in Leipzig
> ( http://www.python-academy.de/Schulungszentrum/anfahrt.html ).
>
> Für das leibliche Wohl wird gesorgt. Eine Anmeldung unter
> info at python-academy.de wäre nett, damit wir genug Essen
> besorgen können.
>
> Willkommen ist jeder, der Interesse an Python hat, die Sprache
> bereits nutzt oder nutzen möchte.
>
> Aktuelle Informationen zu den Treffen sind unter
> http://www.python-academy.de/User-Group zu finden.
>
> Viele Grüße
> Mike
>
>
>
>
>
>
>
>
> ------------------------------
>
> Message: 2
> Date: Mon, 07 Jul 2008 12:21:09 +0200
> From: Dieter Neubauer <neubauer at lni.de>
> Subject: [Python-de] 'Pointer' auf eine @staticmethod-function
> To: Die Deutsche Python Mailingliste <python-de at python.net>
> Message-ID: <4871EE15.1010104 at lni.de>
> Content-Type: text/plain; charset=ISO-8859-15; format=flowed
>
> Hi,
>
> eigentlich meinte ich es sei ganz einfach: ich weise einer 
> Class-Variable einfach den Verweis auf eine Funktion zu, aber dann kam 
> immer ..
>
> 'TypeError: unbound method time() must be called with A instance as 
> first argument (got nothing instead)'
>
>
> Abgestrippt sieht das Ganze so aus:
>
> import time
>
> class A:
>     time = time.time
>
> class B:
>     @staticmethod
>     def time():
>         return time.time()
>
> print A.time()
> A.time = B.time
> print A.time()
>
>
> Ich kann immer noch nicht sehen, wo da ein Problem ist, denn das geht:
>
>  >>> B.time()
> 1215425937.687
>
> Hat jemand 'ne Ahnung, was ich da falsch mache?
>
> Gruß,
> Dieter
>
>
>
>   
Hallo Dieter

Falls ich das richtig verstehe, brauchen alle in Klassen definierten 
Methoden die self-Referenz. Es sollte also gehen mit:
def time(self)
    return time.time()

Müsste dann so funktionieren!

Franz
>
> ------------------------------
>
> Message: 3
> Date: Mon, 07 Jul 2008 13:11:45 +0200
> From: Franz Rittmannsberger <rittmannsberger at 4a.co.at>
> Subject: [Python-de] Python-Anwendungen im Browser
> To: python-de at python.net
> Message-ID: <4871F9F1.7070905 at 4a.co.at>
> Content-Type: text/plain; charset=ISO-8859-15; format=flowed
>
> Ich hab eine Frage zum Laufen von python-Anwendungen im Browser. Ziel 
> wäre es, dass ein Python-Script von einer HTML Seite aus gestartet wird 
> dieses Script dann wieder den BRowser aufruft und eine neue Seite 
> anzeigt. Folgendes schaffe ich  (Datei heisst sb_direct.py):
>
>
> '''Diese Datei wird von einer HTML Seite mit action="sb_direct.py" 
> aufgerufen. '''
> import os
>
> #Hier kommt später der Code hin
>
> # Der nächste Befehl öffnet die neue Seite - aber leider in einem neuen Tab
> os.startfile("C:\\Python25\\sb_exitus.html")
>
> Wie schaffe ich es, dass ich die andere Seite auch im selben Tab 
> aufmache, wie die Ursprungsseite und nicht in einem Neuen
> (Oder wie kann ich den alten Tab zumachen - was auf das gleiche 
> hinausläuft)? Der "target=_self"  Verweis in der html-Seite geht hier 
> nicht.
>
>
> Noch ein Hinweis: ich verwende Firefox!
>
> Hat irgendwer eine Idee dazu?
>
>
> Franz
>
>
>
>
> ------------------------------
>
> Message: 4
> Date: Mon, 7 Jul 2008 13:19:04 +0200
> From: "Diez B. Roggisch" <deets at web.de>
> Subject: Re: [Python-de] 'Pointer' auf eine @staticmethod-function
> To: Die Deutsche Python Mailingliste <python-de at python.net>
> Message-ID: <200807071319.04480.deets at web.de>
> Content-Type: text/plain;  charset="iso-8859-1"
>
> On Monday 07 July 2008 12:21:09 Dieter Neubauer wrote:
>   
>> Hi,
>>
>> eigentlich meinte ich es sei ganz einfach: ich weise einer
>> Class-Variable einfach den Verweis auf eine Funktion zu, aber dann kam
>> immer ..
>>
>> 'TypeError: unbound method time() must be called with A instance as
>> first argument (got nothing instead)'
>>
>>
>> Abgestrippt sieht das Ganze so aus:
>>
>> import time
>>
>> class A:
>>     time = time.time
>>
>> class B:
>>     @staticmethod
>>     def time():
>>         return time.time()
>>
>> print A.time()
>> A.time = B.time
>> print A.time()
>>
>> Ich kann immer noch nicht sehen, wo da ein Problem ist, denn das geht:
>>  >>> B.time()
>>
>> 1215425937.687
>>
>> Hat jemand 'ne Ahnung, was ich da falsch mache?
>>     
>
> class A:
>    time = staticmethod(time.time)
>
> sollte gehen.
>
> In Python werden Funktionen auf Klassen durch das Descriptorprotokoll gejagt. 
> Das passiert nach dem Klassenstatement, und damit wird time in A oben eben 
> auch zu einer "normalen" methode.
>
> Alternativ geht
>
> class A: pass
>
> A.time =time.time
>
> Diez
>
>
>
> ------------------------------
>
> Message: 5
> Date: Mon, 7 Jul 2008 13:46:19 +0200
> From: "Diez B. Roggisch" <deets at web.de>
> Subject: Re: [Python-de] Python-Anwendungen im Browser
> To: python-de at python.net
> Message-ID: <200807071346.19612.deets at web.de>
> Content-Type: text/plain;  charset="iso-8859-1"
>
> On Monday 07 July 2008 13:11:45 Franz Rittmannsberger wrote:
>   
>> Ich hab eine Frage zum Laufen von python-Anwendungen im Browser. Ziel
>> wäre es, dass ein Python-Script von einer HTML Seite aus gestartet wird
>> dieses Script dann wieder den BRowser aufruft und eine neue Seite
>> anzeigt. Folgendes schaffe ich  (Datei heisst sb_direct.py):
>>
>>
>> '''Diese Datei wird von einer HTML Seite mit action="sb_direct.py"
>> aufgerufen. '''
>> import os
>>
>> #Hier kommt später der Code hin
>>
>> # Der nächste Befehl öffnet die neue Seite - aber leider in einem neuen Tab
>> os.startfile("C:\\Python25\\sb_exitus.html")
>>
>> Wie schaffe ich es, dass ich die andere Seite auch im selben Tab
>> aufmache, wie die Ursprungsseite und nicht in einem Neuen
>> (Oder wie kann ich den alten Tab zumachen - was auf das gleiche
>> hinausläuft)? Der "target=_self"  Verweis in der html-Seite geht hier
>> nicht.
>>
>>
>> Noch ein Hinweis: ich verwende Firefox!
>>
>> Hat irgendwer eine Idee dazu?
>>     
>
> Sowas geht so nicht. Dazu musst du schon einen "richtigen" HTTP-Server 
> benutzen. Denn was du da oben machst ist einfach den FF neu starten, mit 
> einer uebergebenen HTML-Datei. Dein FF ist halt so konfiguriert das er ein 
> neues Tab aufmacht - er koennte aber auch ein neues Fenster aufmachen. 
>
> Was du stattdessen machen musst ist den Inhalt von sb_exitus.html einlesen und 
> in sb_direct.py als Ergebnis zurueckgeben. Ich frage mich aber eh, wie es 
> ueberhaupt klappt das sb_direct.py ausgefuehrt wird. Hast du irgendeine Form 
> von HTTP-Server laufen?
>
> Diez
>
>
>
> ------------------------------
>
> _______________________________________________
> python-de maillist  -  python-de at python.net
> http://python.net/mailman/listinfo/python-de
>
>
> Ende python-de Nachrichtensammlung, Band 63, Eintrag 5
> ******************************************************
>
>   

Hallo Diez


ich hoffte, dass ich ohne einen Webserver auskommen könnte. Ich habe 
eine Lösung mit cgi scripts etc. ist aber nicht immer ganz einfach.
Die Anwendung die ich machen möchte hat auch weniger mit Webseiten zu 
tun als eigentlich nur das Userinterface über HTML zu machen.

sb_direkt.py wird ausgeführt da ich folgende Zeile in der html Datei habe.
'<form action="sb_direct.py" method="get" enctype="multipart/form-data" >

(ehrlich gesagt hat mich selbst gewundert dass das so einfach ging ;-O

Diese Script wird dann im DOS Fenster gestartet. Das funktioniert auch 
super - nur wird eben wenn ich aus dem Script heraus
wieder FF starte ein neues Tab aufgemacht.


Franz




Mehr Informationen über die Mailingliste python-de