× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Autres langages
 Petit problème de multiplicationSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Mimile
  Posté le 24/05/2009 @ 16:16 
Aller en bas de la page 
Astucien

Bonjour,

J'ai créé un thème superkaramba qui comporte diverses fonctions dont une petite météo intégrée.

En gros, voilà à quoi ça ressemble :

Mon problème se situe au niveau de l'affichage de la pression atmosphérique.

En effet, la plus grosse partie de l'affichage météo résulte d'un programme écrit en python qui accède au site weather.yahoo.com pour y relever les principales informations ainsi que l'icône météo correspondante (je précise que l'auteur du programme Python est un certain Dean Harris alias Marcus Furius ; pour ma part, je me suis laborieusement appliqué à modifier son programme pour qu'il s'intègre harmonieusement dans mon thème tout en y ajoutant quelques menus gadgets amusants).

Malheureusement, la partie accessible du site Yahoo.weather ne mentionne pas la pression atmosphérique et j'ai donc été la chercher sur un autre site (http://www.weather.com/) en intégrant au texte du thème SuperKaramba la ligne suivante:

sensor=program program="rm -f BEXX0018; wget http://www.weather.com/outlook/travel/businesstraveler/local/BEXX0018 && grep Pressure BEXX0018 | cut -c 91-95 " interval=180000

(wget charge la page dans un fichier qui s'appelle BEXX0018 - dont je supprime d'abord la précédente version ; je repère avec grep la ligne contenant le mot "Pressure" et je vais chercher sa valeur avec cut entre le 91ème et le 95ème caractère de la ligne).

Malheureusement, le texte obtenu avec wget contient uniquement les unités anglo-saxonnes alors que :

a) si vous essayez de visiter le site http://www.weather.com/outlook/travel/businesstraveler/local/BEXX0018, vous constaterez que l'affichage est bien en unités métriques

b) si vous affichez le code-source de la page, ce sont aussi les unités métriques qui apparaissent !

J'en viens donc à ma question : que puis-je ajouter après | cut -c 91-95 pour mettre la valeur obtenue par cut (30.09 sur ma capture d'écran) dans une variable qui pourra être ensuite multipliée par le coefficient 33.8639 qui opérera la conversion en hPa (hecto-pascal ou, anciennement, millibar).

Désolé d'avoir été long.

Merci d'avance et bien cordialement à tous



Modifié par Mimile le 24/05/2009 16:43
Publicité
Draleg
 Posté le 25/05/2009 à 11:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour, je ne vais pas t'aider mais je voulais te féliciter pour la creation de ton theme SuperKaramba, c'est parfois pour ça que je regrette de ne pas etre sur KDE car je trouve gdesklets moins stable...

Je vais quand meme essayé je ne connais pas python mais avec une convertion de ton string en double par exemple tu pourrai effectuer tout les calcul que tu veux non ? (ou alors j'ai pas bien compris ta demande ).

Donc si avec ça

wget http://www.weather.com/outlook/travel/businesstraveler/local/BEXX0018 && grep Pressure BEXX0018 | cut -c 91-95

tu récupere la valeure numérique en string avec un

float (wget http://www.weather.com/outlook/travel/businesstraveler/local/BEXX0018 && grep Pressure BEXX0018 | cut -c 91-95)

Ou si ça ne passe pas directement, via une variable intermédiaire, tu aura une contenu de type numérique.

Malheureusement je ne sais pas pourquoi j'ai l'impression que je n'ai pas compris totalement le problème et que donc je suis a coter de la plaque lol...

Sinon une alternative au wget? -> http://www.commentcamarche.net/forum/affich-77576-alternative-a-wget ...

Mimile
 Posté le 25/05/2009 à 12:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Salut Draleg

Merci pour ta réponse (que je ne suis pas en mesure de tester actuellement car je me trouve au boulot sur Windows) et aussi, merci pour ton compliment.

C'est vrai que l'exposé de mon problème était sans doute trop long mais je pense que tu as bien compris mon souci.

En résumé, la valeur prélevée par cut -c 91-95 donne la pression atmoshpérique mais elle est exprimée en unités anglo-saxonnes (pouces de mercure) et non en hectopascals (l'unité légale du système métrique).

Pour convertir la valeur anglo-saxonne en hectopascals, il suffit de la multiplier par 33,8639 et c'était bien cela l'objet de mon appel à l'aide : comment multiplier le contenu obtenu par cut et qui n'est, a priori, pas considéré comme une variable numérque.

Dans un premier temps, j'avais essayé .... | "cut -c 91-95" * 33.8639 mais cela n'avait rien donné

Je ne manquerai pas de tester ta solution (float) ou d'aller visiter le site que tu renseignes et je reviendrai dire le résultat.

Amicalement

Mimile
 Posté le 27/05/2009 à 14:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Je reviens pour dire que, hélas, float (wget ...) ne fonctionne pas (syntax error).

Par ailleurs, le fait d'utiliser curl ou lieu de wget (ou même perl) ne résoud pas le problème.

Merci malgré tout de t'être intéressé à mon problème.

Je continue à chercher.

Je vais poster sur le forum Linux dans l'espoir qu'un spécialiste de SuperKaramba aura une suggestion.

Amicalement

EDIT : problème contourné : j'ai trouvé un site météo qui affiche directement la pression en hPa !



Modifié par Mimile le 27/05/2009 15:39
Mimile
 Posté le 31/05/2009 à 23:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Problème réglé tout seul.

Bonsoir

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
114,99 €Disque dur externe USB 3.0 Seagate 6 To à 114,99 €
Valable jusqu'au 16 Juillet

Amazon propose actuellement le disque dur Seagate Expansion Desktop Drive 6 To à 114,99 € livré gratuitement alors qu'on le trouve ailleurs à partir de 135 €. Le disque est non soudé et vous pourrez le récupérer pour l'utiliser dans un ordinateur, un NAS, etc. 


> Voir l'offre
Gratuit3 mois d'abonnement à Amazon Music Unlimited gratuits
Valable jusqu'au 28 Juillet

Amazon vous permet d'essayer son service de streaming musical pendant 3 mois gratuitement. Avec Amazon Music Unlimited, accédez à plus de 50 millions de titres, sans publicité et en illimité sur tous vos appareils : smartphone, tablette, PC/Mac, Fire, Alexa. Vous avez même la possibilité de télécharger vos playlists pour des écoutes hors connexion. A la fin de ces 3 mois, vous pourrez basculer vers l'offre payante à 9,99 € / mois ou bien arrêter sans frais le service. A noter l'existence d'une offre famille à 14,99 € / mois qui permet jusqu'à 6 utilisateurs d'écouter leur musique à tout moment et sur leurs appareils préférés. Vous pouvez annuler l'abonnement à tout moment.


> Voir l'offre
29,99 €Répéteur WiFi TP-Link RE305 AC1200 Dual-band à 29,99 €
Valable jusqu'au 17 Juillet

Amazon fait une offre éclair sur le répéteur WiFi TP-Link RE30 AC1200 Dual-band qui passe à 29,99 € et livré gratuitement. Ce répéteur qu'on trouve ailleurs autour de 45 € va vous permettre d'augmenter grandement la portée de votre WiFi 802.11 b/g/n et ac jusqu'à 1200 Mbit/s. Avec son port Ethernet, ce répéteur peut également faire office de point d'accès sans fil et de pont WiFi. 


> Voir l'offre

Sujets relatifs
petit probleme de macro excel/word
vba petit probleme
petit problème en vbscript
petit probleme basique en C
Problème d'installation sur Visual Studio
Problème avec WinPython - Spyder
demande d'aide pour un petit script
C Problème pointeur et passage en référence.
problème macro excel
Problème avec les espaces C++
Plus de sujets relatifs à Petit problème de multiplication
 > Tous les forums > Forum Autres langages