|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonsoir !
Voici un "Pidget" (un widget en Python+HTA) Il faut enregistrer le code-source dans un fichier .HTA (par exemple : meteo.hta) Double-clic sur le fichier, pour le lancer (ou taper son nom + [Entrée], en invite de commande) Alt-F4 pour fermer la fenêtre. Ce truc devrait plaire à Salvatore. Il montre comment remplacer les widgets et autres gadgets, avec Python, sans installer de Side-bar, de konfabulator, et autres bouffeurs de mémoire. Rappel : les HTA (HTml Application) ne fonctionnent que sous Windows. Le fichier ne contient que du Python et du HTML. @-salutations Michel Claveau <hta:application windowstate="normal" caption="no" singleinstance="yes" /> <html> <head> <script language=Python> def Init(): self.resizeTo(360,360) self.moveTo(110,10) def meteo(num): obj = document.getElementById('METEODIV') st = '<a href="http://ponx.org/ponx/guie.htm"><img src="http://meteo.region-nord.com/webmestre/prev/j'+num+'.jpg" alt="prevision meteo" style="border:none"> </a>' obj.innerHTML = st </script> </head> <body bgColor=#FFFFFF background="" scroll=no onload="Init();"> <FORM> <input ID="bt1" name="bt1" type="button" style="width:100px" VALUE="Aujourd'hui" onmousedown="meteo('1')" /> <input ID="bt2" name="bt2" type="button" style="width:100px" VALUE="Demain" onmousedown="meteo('2')" /> <input ID="bt3" name="bt3" type="button" style="width:100px" VALUE="Après-Demain" onmousedown="meteo('3')" /><br> <blockquote> <DIV id="METEODIV">MMEETTEEOO</DIV> </blockquote> </FORM> <script language=Python> meteo('1') </script> </body> </html> |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
<zip> IE7 me fait un "erreur sur la page" et il ne se passe rien (j'ai bien les boutons et la division... mais ça coince. A+ Laurent. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
<zip> IE7 me fait un "erreur sur la page" et il ne se passe rien (j'ai bien les boutons et la division... mais ça coince. A+ Laurent. |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Salut !
N'y aurait-il pas un problème d'indentation ? Les "def" doivent commencer en première colonne, ainsi que la ligne : meteo('1') (vers la fin) Autre possibilité : est-ce que ton système accepte qu'un .HTA aille ouvrir une image sur Internet ? (à cause d'un parefeu trop bloquant, d'un désactiveur de scripts, de paramètres interdisant d'avoir plusieurs domaines dans la même page, etc.) J'ai essayé depuis deux machines différentes, sans pb ; j'ai un ami chez qui ça fonctionne également. Éventuellement, j'ai une version Javascript, qui fait à peu près la même chose. Cela pourrait aider à trouve si ça vient de Python (plus exactement de "Python-Active-Scripting") ou d'autre chose. Si tu veux, je peux te l'envoyer par e-mail... @+ MCI |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Salut !
N'y aurait-il pas un problème d'indentation ? Les "def" doivent commencer en première colonne, ainsi que la ligne : meteo('1') (vers la fin) Autre possibilité : est-ce que ton système accepte qu'un .HTA aille ouvrir une image sur Internet ? (à cause d'un parefeu trop bloquant, d'un désactiveur de scripts, de paramètres interdisant d'avoir plusieurs domaines dans la même page, etc.) J'ai essayé depuis deux machines différentes, sans pb ; j'ai un ami chez qui ça fonctionne également. Éventuellement, j'ai une version Javascript, qui fait à peu près la même chose. Cela pourrait aider à trouve si ça vient de Python (plus exactement de "Python-Active-Scripting") ou d'autre chose. Si tu veux, je peux te l'envoyer par e-mail... @+ MCI |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
Re !
Je viens de vérifier un truc : - la version Javascript occupe 13 Mo de RAM - la version Python occupe 23 Mo C'est le coût du chargement de l'interpréteur... @+ MCI |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
Re !
Je viens de vérifier un truc : - la version Javascript occupe 13 Mo de RAM - la version Python occupe 23 Mo C'est le coût du chargement de l'interpréteur... @+ MCI |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
> Salut ! > > > N'y aurait-il pas un problème d'indentation ? Les "def" doivent > commencer en première colonne, ainsi que la ligne : meteo('1') (vers > la fin) J'avais déjà corrigé les indentations des defs (mais j'avais oublié celui de l'appel à meteo(). > Autre possibilité : est-ce que ton système accepte qu'un .HTA aille > ouvrir une image sur Internet ? (à cause d'un parefeu trop bloquant, > d'un désactiveur de scripts, de paramètres interdisant d'avoir plusieurs > domaines dans la même page, etc.) IE7 m'affiche l'alerte sur le script, et je l'autorise. Pas de pare-feu trop bloquant (j'ai essayé de charger les URLs indiquées dans le script, ça tourne, j'ai changé le code HTML en un simple <p>xxx</p>, même problème)... Note: Le "erreur sur la page" s'affiche en bas, dans la zone de status, lorsque je clique sur les boutons. > J'ai essayé depuis deux machines différentes, sans pb ; j'ai un ami chez > qui ça fonctionne également. Peut-être un problème d'enregistrement de mon Python en tant que langage de script pour les pages web hta... y'a quelque chose à regarder de ce côté? Au cas où, j'ai réinstallé pywin32 (via easy_install - donc a-priori la dernière version)... mais ça tourne pas mieux. |
|
|
|
#9 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
> Salut ! > > > N'y aurait-il pas un problème d'indentation ? Les "def" doivent > commencer en première colonne, ainsi que la ligne : meteo('1') (vers > la fin) J'avais déjà corrigé les indentations des defs (mais j'avais oublié celui de l'appel à meteo(). > Autre possibilité : est-ce que ton système accepte qu'un .HTA aille > ouvrir une image sur Internet ? (à cause d'un parefeu trop bloquant, > d'un désactiveur de scripts, de paramètres interdisant d'avoir plusieurs > domaines dans la même page, etc.) IE7 m'affiche l'alerte sur le script, et je l'autorise. Pas de pare-feu trop bloquant (j'ai essayé de charger les URLs indiquées dans le script, ça tourne, j'ai changé le code HTML en un simple <p>xxx</p>, même problème)... Note: Le "erreur sur la page" s'affiche en bas, dans la zone de status, lorsque je clique sur les boutons. > J'ai essayé depuis deux machines différentes, sans pb ; j'ai un ami chez > qui ça fonctionne également. Peut-être un problème d'enregistrement de mon Python en tant que langage de script pour les pages web hta... y'a quelque chose à regarder de ce côté? Au cas où, j'ai réinstallé pywin32 (via easy_install - donc a-priori la dernière version)... mais ça tourne pas mieux. |
|
|
|
#10 |
|
Messages: n/a
Hébergeur: |
Re !
> Peut-être un problème d'enregistrement de mon Python en tant que langage de script pour les pages > web hta... y'a quelque chose à regarder de ce côté? Maintenant que tu le dis, oui. Mais, je ne me rappelle plus où c'est... Je n'ai jamais utilisé easy-install, mais j'ai dû lancer (au moins une fois) ActivePython. Et il me semble que l'inscription de Python en tant que langage Active-Scripting est inclut dans cette install. Et aussi, regarde si, dans le répertoire C:\Python25\Lib\site-packages\win32comext\axscript\client il ne suffirait pas de lancer le script : pyscript.py Sinon, je chercherai autre chose. Merci des tests, et @+ Michel Claveau |
|
|
|
#11 |
|
Messages: n/a
Hébergeur: |
Re !
> Peut-être un problème d'enregistrement de mon Python en tant que langage de script pour les pages > web hta... y'a quelque chose à regarder de ce côté? Maintenant que tu le dis, oui. Mais, je ne me rappelle plus où c'est... Je n'ai jamais utilisé easy-install, mais j'ai dû lancer (au moins une fois) ActivePython. Et il me semble que l'inscription de Python en tant que langage Active-Scripting est inclut dans cette install. Et aussi, regarde si, dans le répertoire C:\Python25\Lib\site-packages\win32comext\axscript\client il ne suffirait pas de lancer le script : pyscript.py Sinon, je chercherai autre chose. Merci des tests, et @+ Michel Claveau |
|
|
|
#12 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
> Re ! > > >> Peut-être un problème d'enregistrement de mon Python en tant que >> langage de script pour les pages web hta... y'a quelque chose à >> regarder de ce côté? > > Maintenant que tu le dis, oui. > Mais, je ne me rappelle plus où c'est... > > Je n'ai jamais utilisé easy-install, mais j'ai dû lancer (au moins une > fois) ActivePython. Et il me semble que l'inscription de Python en tant > que langage Active-Scripting est inclut dans cette install. > > > Et aussi, regarde si, dans le répertoire > C:\Python25\Lib\site-packages\win32comext\axscript\client > il ne suffirait pas de lancer le script : pyscript.py C:\Tools\Python25\Lib\site-packages\win32comext\axscript\client>python pyscript py Registered: Python Done. > Sinon, je chercherai autre chose. > Merci des tests, et @+ Ah, j'ai trouvé plus de détails sur l'indication de l'erreur - faut double-cliquer sur le panneau jaune /!\... sauf que ce @¤*# ouvre un dialogue avec un champs texte pour les détails et ne permet pas de copier le contenu de ce champs... Ligne: 26 Caractère: 1 Erreur: Objet attendu Code: 0 URL: file:///url vers le document.html Document qui contient: <hta:application windowstate="normal" caption="no" singleinstance="yes" /> <html> <head> <script language=Python> def Init(): self.resizeTo(360,360) self.moveTo(110,10) def meteo(num): obj = document.getElementById('METEODIV') st = '<a href="http://ponx.org/ponx/guie.htm"><img src="http://meteo.region-nord.com/webmestre/prev/j'+num+'.jpg" alt="prevision meteo" style="border:none"> </a>' obj.innerHTML = st </script> </head> <body bgColor=#FFFFFF background="" scroll=no onload="Init();"> <FORM> <input ID="bt1" name="bt1" type="button" style="width:100px" VALUE="Aujourd'hui" onmousedown="meteo('1')" /> <input ID="bt2" name="bt2" type="button" style="width:100px" VALUE="Demain" onmousedown="meteo('2')" /> <input ID="bt3" name="bt3" type="button" style="width:100px" VALUE="Après-Demain" onmousedown="meteo('3')" /><br> <blockquote> <DIV id="METEODIV">MMEETTEEOO</DIV> </blockquote> </FORM> <script language=Python> meteo('1') </script> </body> </html> |
|
|
|
#13 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
> Re ! > > >> Peut-être un problème d'enregistrement de mon Python en tant que >> langage de script pour les pages web hta... y'a quelque chose à >> regarder de ce côté? > > Maintenant que tu le dis, oui. > Mais, je ne me rappelle plus où c'est... > > Je n'ai jamais utilisé easy-install, mais j'ai dû lancer (au moins une > fois) ActivePython. Et il me semble que l'inscription de Python en tant > que langage Active-Scripting est inclut dans cette install. > > > Et aussi, regarde si, dans le répertoire > C:\Python25\Lib\site-packages\win32comext\axscript\client > il ne suffirait pas de lancer le script : pyscript.py C:\Tools\Python25\Lib\site-packages\win32comext\axscript\client>python pyscript py Registered: Python Done. > Sinon, je chercherai autre chose. > Merci des tests, et @+ Ah, j'ai trouvé plus de détails sur l'indication de l'erreur - faut double-cliquer sur le panneau jaune /!\... sauf que ce @¤*# ouvre un dialogue avec un champs texte pour les détails et ne permet pas de copier le contenu de ce champs... Ligne: 26 Caractère: 1 Erreur: Objet attendu Code: 0 URL: file:///url vers le document.html Document qui contient: <hta:application windowstate="normal" caption="no" singleinstance="yes" /> <html> <head> <script language=Python> def Init(): self.resizeTo(360,360) self.moveTo(110,10) def meteo(num): obj = document.getElementById('METEODIV') st = '<a href="http://ponx.org/ponx/guie.htm"><img src="http://meteo.region-nord.com/webmestre/prev/j'+num+'.jpg" alt="prevision meteo" style="border:none"> </a>' obj.innerHTML = st </script> </head> <body bgColor=#FFFFFF background="" scroll=no onload="Init();"> <FORM> <input ID="bt1" name="bt1" type="button" style="width:100px" VALUE="Aujourd'hui" onmousedown="meteo('1')" /> <input ID="bt2" name="bt2" type="button" style="width:100px" VALUE="Demain" onmousedown="meteo('2')" /> <input ID="bt3" name="bt3" type="button" style="width:100px" VALUE="Après-Demain" onmousedown="meteo('3')" /><br> <blockquote> <DIV id="METEODIV">MMEETTEEOO</DIV> </blockquote> </FORM> <script language=Python> meteo('1') </script> </body> </html> |
|
|
|
#14 |
|
Messages: n/a
Hébergeur: |
Re !
J'ai, brusquement, un doute ; basé sur le fait que tu parles d'erreur fournie par IE As-tu bien enregistré le fichier avec l'extension ".hta" (par exemple "meteo.hta") ? Normalement, pour traiter les HTA, Windows utilise mshta.exe et non iexplore.exe ; avec une gestion des droits légèrement différente. @+ MCI |
|
|
|
#15 |
|
Messages: n/a
Hébergeur: |
Re !
J'ai, brusquement, un doute ; basé sur le fait que tu parles d'erreur fournie par IE As-tu bien enregistré le fichier avec l'extension ".hta" (par exemple "meteo.hta") ? Normalement, pour traiter les HTA, Windows utilise mshta.exe et non iexplore.exe ; avec une gestion des droits légèrement différente. @+ MCI |
|
|
|
#16 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
> Re ! > > J'ai, brusquement, un doute ; basé sur le fait que tu parles d'erreur > fournie par IE > > As-tu bien enregistré le fichier avec l'extension ".hta" (par > exemple "meteo.hta") ? T'as trouvé. Ca marche bien mieux avec cette extension. Bon, j'ai dû tuer mshta pour refermer la fenêtre :-) Mais ça tourne... je conserve ça sous la main, ça peut être pratique. |
|
|
|
#17 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
> Re ! > > J'ai, brusquement, un doute ; basé sur le fait que tu parles d'erreur > fournie par IE > > As-tu bien enregistré le fichier avec l'extension ".hta" (par > exemple "meteo.hta") ? T'as trouvé. Ca marche bien mieux avec cette extension. Bon, j'ai dû tuer mshta pour refermer la fenêtre :-) Mais ça tourne... je conserve ça sous la main, ça peut être pratique. |
|
|
|
#18 |
|
Messages: n/a
Hébergeur: |
Salut !
Pour "tuer" le pidget , y'a + simple : Alt-F4 (cela ferme la fenêtre). Sinon, n'utiliser que Python dans ce genre de truc, c'est plutôt un cas d'école. En pratique, Javascript est beaucoup mieux équipé, pour gérer le DOM et les objets HTML. Mais, comme il est possible de mélanger les deux langages, et d'appeler, depuis javascript, des fonctions Python (et l'inverse), ça peut devenir intéressant et utile. Question : penses-tu que ça puisse intéresser des gens, de lire ce genre de truc sur le Wiki ? Question-2 : ne vaut-il pas mieux laisser ça à Salvatore, qui avait relancé ça sur ce newsgroup ? @+ MCI |
|
|
|
#19 |
|
Messages: n/a
Hébergeur: |
Salut !
Pour "tuer" le pidget , y'a + simple : Alt-F4 (cela ferme la fenêtre). Sinon, n'utiliser que Python dans ce genre de truc, c'est plutôt un cas d'école. En pratique, Javascript est beaucoup mieux équipé, pour gérer le DOM et les objets HTML. Mais, comme il est possible de mélanger les deux langages, et d'appeler, depuis javascript, des fonctions Python (et l'inverse), ça peut devenir intéressant et utile. Question : penses-tu que ça puisse intéresser des gens, de lire ce genre de truc sur le Wiki ? Question-2 : ne vaut-il pas mieux laisser ça à Salvatore, qui avait relancé ça sur ce newsgroup ? @+ MCI |
|
|
|
#20 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
> Salut ! > > Pour "tuer" le pidget , y'a + simple : Alt-F4 (cela ferme la fenêtre). Ah, j'ai essayé le bouton droit sur l'application dans la barre des tâches... mais y'a pas de menu qui s'affiche. > Sinon, n'utiliser que Python dans ce genre de truc, c'est plutôt un cas > d'école. En pratique, Javascript est beaucoup mieux équipé, pour gérer > le DOM et les objets HTML. > > Mais, comme il est possible de mélanger les deux langages, et d'appeler, > depuis javascript, des fonctions Python (et l'inverse), ça peut devenir > intéressant et utile. > > Question : penses-tu que ça puisse intéresser des gens, de lire ce genre > de truc sur le Wiki ? Oui. Y'a tout plein d'usages sous Windows. Combiné à COM... > Question-2 : ne vaut-il pas mieux laisser ça à Salvatore, qui avait > relancé ça sur ce newsgroup ? Si c'est sur le wiki, tu peux démarrer et lui demander s'il veut participer en y ajoutant l'expérience qu'il a sur la mise en oeuvre. A+ Laurent. |
|
|
|
#21 |
|
Messages: n/a
Hébergeur: |
Méta-MCI (MVP) a écrit :
> Salut ! > > Pour "tuer" le pidget , y'a + simple : Alt-F4 (cela ferme la fenêtre). Ah, j'ai essayé le bouton droit sur l'application dans la barre des tâches... mais y'a pas de menu qui s'affiche. > Sinon, n'utiliser que Python dans ce genre de truc, c'est plutôt un cas > d'école. En pratique, Javascript est beaucoup mieux équipé, pour gérer > le DOM et les objets HTML. > > Mais, comme il est possible de mélanger les deux langages, et d'appeler, > depuis javascript, des fonctions Python (et l'inverse), ça peut devenir > intéressant et utile. > > Question : penses-tu que ça puisse intéresser des gens, de lire ce genre > de truc sur le Wiki ? Oui. Y'a tout plein d'usages sous Windows. Combiné à COM... > Question-2 : ne vaut-il pas mieux laisser ça à Salvatore, qui avait > relancé ça sur ce newsgroup ? Si c'est sur le wiki, tu peux démarrer et lui demander s'il veut participer en y ajoutant l'expérience qu'il a sur la mise en oeuvre. A+ Laurent. |
|
|
|
#22 |
|
Messages: n/a
Hébergeur: |
Merci Michel :-)
Méta-MCI (MVP) a écrit : > Bonsoir ! > > Voici un "Pidget" (un widget en Python+HTA) > Il faut enregistrer le code-source dans un fichier .HTA (par exemple > : meteo.hta) > Double-clic sur le fichier, pour le lancer (ou taper son nom + [Entrée], > en invite de commande) > Alt-F4 pour fermer la fenêtre. > > Ce truc devrait plaire à Salvatore. Il montre comment remplacer les > widgets et autres gadgets, avec Python, sans installer de Side-bar, de > konfabulator, et autres bouffeurs de mémoire. > > Rappel : les HTA (HTml Application) ne fonctionnent que sous Windows. > Le fichier ne contient que du Python et du HTML. > > @-salutations > > Michel Claveau > > > > > <hta:application > windowstate="normal" > caption="no" > singleinstance="yes" > /> > <html> > <head> > <script language=Python> > > def Init(): > self.resizeTo(360,360) > self.moveTo(110,10) > > def meteo(num): > obj = document.getElementById('METEODIV') > st = '<a href="http://ponx.org/ponx/guie.htm"><img > src="http://meteo.region-nord.com/webmestre/prev/j'+num+'.jpg" > alt="prevision meteo" style="border:none"> </a>' > obj.innerHTML = st > > </script> > </head> > > <body bgColor=#FFFFFF background="" scroll=no onload="Init();"> > <FORM> > > <input ID="bt1" name="bt1" type="button" style="width:100px" > VALUE="Aujourd'hui" onmousedown="meteo('1')" /> > <input ID="bt2" name="bt2" type="button" style="width:100px" > VALUE="Demain" onmousedown="meteo('2')" /> > <input ID="bt3" name="bt3" type="button" style="width:100px" > VALUE="Après-Demain" onmousedown="meteo('3')" /><br> > > <blockquote> > <DIV id="METEODIV">MMEETTEEOO</DIV> > </blockquote> > </FORM> > > <script language=Python> > meteo('1') > </script> > > </body> > </html> > > > |
|
|
|
#23 |
|
Messages: n/a
Hébergeur: |
Merci Michel :-)
Méta-MCI (MVP) a écrit : > Bonsoir ! > > Voici un "Pidget" (un widget en Python+HTA) > Il faut enregistrer le code-source dans un fichier .HTA (par exemple > : meteo.hta) > Double-clic sur le fichier, pour le lancer (ou taper son nom + [Entrée], > en invite de commande) > Alt-F4 pour fermer la fenêtre. > > Ce truc devrait plaire à Salvatore. Il montre comment remplacer les > widgets et autres gadgets, avec Python, sans installer de Side-bar, de > konfabulator, et autres bouffeurs de mémoire. > > Rappel : les HTA (HTml Application) ne fonctionnent que sous Windows. > Le fichier ne contient que du Python et du HTML. > > @-salutations > > Michel Claveau > > > > > <hta:application > windowstate="normal" > caption="no" > singleinstance="yes" > /> > <html> > <head> > <script language=Python> > > def Init(): > self.resizeTo(360,360) > self.moveTo(110,10) > > def meteo(num): > obj = document.getElementById('METEODIV') > st = '<a href="http://ponx.org/ponx/guie.htm"><img > src="http://meteo.region-nord.com/webmestre/prev/j'+num+'.jpg" > alt="prevision meteo" style="border:none"> </a>' > obj.innerHTML = st > > </script> > </head> > > <body bgColor=#FFFFFF background="" scroll=no onload="Init();"> > <FORM> > > <input ID="bt1" name="bt1" type="button" style="width:100px" > VALUE="Aujourd'hui" onmousedown="meteo('1')" /> > <input ID="bt2" name="bt2" type="button" style="width:100px" > VALUE="Demain" onmousedown="meteo('2')" /> > <input ID="bt3" name="bt3" type="button" style="width:100px" > VALUE="Après-Demain" onmousedown="meteo('3')" /><br> > > <blockquote> > <DIV id="METEODIV">MMEETTEEOO</DIV> > </blockquote> > </FORM> > > <script language=Python> > meteo('1') > </script> > > </body> > </html> > > > |
|
![]() |
| Outils de la discussion | |
|
|