PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.python > Pidget météo (Python + HTA) (pour Salvatore ?)
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Pidget météo (Python + HTA) (pour Salvatore ?)

Réponse
 
LinkBack Outils de la discussion
Vieux 22/08/2007, 20h10   #1
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Pidget météo (Python + HTA) (pour Salvatore ?)

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>
&nbsp;&nbsp;
<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>



  Réponse avec citation
Vieux 23/08/2007, 08h16   #2
Laurent Pointal
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Pidget météo (Python + HTA) (pour Salvatore ?)

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.

  Réponse avec citation
Vieux 23/08/2007, 09h11   #3
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Pidget météo (Python + HTA) (pour Salvatore ?)

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




  Réponse avec citation
Vieux 23/08/2007, 09h22   #4
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Pidget météo (Python + HTA) (pour Salvatore ?)

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




  Réponse avec citation
Vieux 23/08/2007, 09h45   #5
Laurent Pointal
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Pidget météo (Python + HTA) (pour Salvatore ?)

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.

  Réponse avec citation
Vieux 23/08/2007, 13h14   #6
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Pidget météo (Python + HTA) (pour Salvatore ?)

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




  Réponse avec citation
Vieux 23/08/2007, 14h07   #7
Laurent Pointal
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Pidget météo (Python + HTA) (pour Salvatore ?)

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>
&nbsp;&nbsp;
<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>
  Réponse avec citation
Vieux 23/08/2007, 16h00   #8
Méta-MCI (MVP)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Pidget météo (Python + HTA) (pour Salvatore ?)

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






  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 22h54.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,14770 seconds with 16 queries