1

Dites, que penseriez-vous d'un petit script qui fait le lien enrte growl et yaronet via la page mes sujets ou via yn24 ?

Juste comme ça, voir si y'en a que ça intéresserait smile
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

2

ça serait bien classe, ça top

moi je suis intéressé !
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

3

Bon, pour info, pour la page "mes sujets", c'est pour le moment pas gagné, vu que je peux pas y accéder directement (faudrait faire une authentif avant, récupérer le cookie, et l'utiliser pour appeler "mes sujets").
Pour yn24, j'ai commencé à décortiquer le XML renvoyé par yN, ça devrait pas poser trop de problèmes...

y'a des chances que ce soit fait en python (2.3 pour ceux qui sont sous panther et n'ont jamais mis de python2.4) + bash. Maintenant si y'a des fans d'objective-C qui veulent se le farcir en obj-C, j'ai regardé, ça n'a pas l'air bien compliqué non plus, le parseur XML reste relativement simple.

Pour les infos qui seraient renvoyés :
* icône boo, bien sûr grin, mais un boo par type de retour : derniers créés ou derniers actifs. A voir comment le matérialiser...
* titre : le nom du topic
* texte : commentaire

Affichage que dans le cas où la news a été raffraichie (nouveau commentaire dessus) ou est nouvelle (nouveau topic).

Evidemment, ça reste que du growl, donc je peux pas mettre de lien cliquable dessus, mais ça peut déjà être sympa à faire.

avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

4

tu peux pas faire en apple script ?
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

5

Du parsing XML en applescript ?
Je sais pas, il faudrait voir. Peut-être, oui.
Mais derrière de toute façon il faudra une minibase qui contienne la liste des billets déjà affichés (et présents dans yN) sinon je peux pas différencier les nouveaux des anciens. De toute façon, j'ai pas encore commencé l'implémentation, je regarde juste la faisabilité et les techniques utilisables.
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

6

AppleScript supporte le XML oui, et sinon Growl (avant que je le vire pasqu'il me saoulait) m'indiquait deja quand, et combien il y avais de news/post sur yN24 & co

avec growl safari
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

7

./6 : ha ? je connaissais pas ce machin... Tu pourrais préciser ?
Est-ce que ça oblige à avoir safari d'ouvert ?
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

8

Heu oui par contre obligé d'avoir safari d'ouvert,

expliciter, ben heu, c'est fourni directement avec growl sorry

cf http://growl.info/documentation/
http://growl.info/documentation/growlsafari.php
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

9

ouais bon m'intéresse pas, si faut avoir safari d'ouvert...
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

10

Faudra forcement avoir une appli d'ouverte hein
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

11

Ben non, cron l'est d'office, il se chargera de ça très bien, et c'est transparent, t'as pas de fenêtre ouverte inutilement qui squatte de la mémoire pour rien.
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

12

#!/bin/sh
rm cookies.txt
wget --save-cookies cookies.txt --post-data "login=flanker&mdp=XXXXXXXXXXX&cookme=checked" http://www.yaronet.com/login.php
rm login.php
wget --load-cookies cookies.txt  http://www.yaronet/com/dposts.php
grep "Vous avez un nouveau mini-message" dposts.php 
growlnotify --appIcon Safari -m 'Vous avez un nouveau minimessage'

?
mais je sais pas ne pas afficher le growlnotify si le grep ne renvoie rien sad
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

13

if [ `grep "Vous avez un nouveau mini-message" dpost.php` ]
then
growlnotify ...
fi

?
Pour le parsing de yn24, je suis sur un autre projet un peu plus urgent pour le moment, faudra que je m'attaque à ce machin "un jour"...
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

14

if[ `grep -c "Vous avez un novueau mini-message" dposts.php` ]
then 
growlnotify ...
fi

if [1]: command not found

tsss
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

15

arf, il fallait if [ et pas if[


mais ça ne veut toujorus pas marcher, le if est emprunté systématiquement sad


#!/bin/sh
rm cookies.txt
wget --save-cookies cookies.txt --post-data "login=flanker&mdp=XXXXXXXXXXX&cookme=checked" http://www.yaronet.com/login.php
rm login.php
wget --load-cookies cookies.txt  http://www.yaronet/com/dposts.php
if [`grep -c "Vous avez un nouveau mini-message" dposts.php` ]
then
growlnotify --appIcon Safari -m 'Vous avez un nouveau minimessage'
fi

avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

16

je ne suis pas persuadé de l'utilité du -c dans la chose
pour le if[ en fait, en bash, [ et ] sont des fonctions, donc techniquement parlant, il doit y avoir des espaces avant et après (fou non ?)

Note : ton mot de passe est vraiment naze grin
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

17


num=`grep -c "Vous avez un nouveau mini-message" dposts.php 2> /dev/null`
if [ "$num" -gt 0 ]
then


marche mieux (merci vertyos wink)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

18

le script complet, qui marche !
#!/bin/sh
cd /Users/flanker/.GrowlyAronet
if [ -f cookies.txt ]
then
touch cookies.txt
else
/sw/bin/wget --save-cookies cookies.txt --post-data "login=flanker&mdp=XXXXXXXXXXXXX&cookme=checked" http://www.yaronet.com/login.php
rm login.php
fi
/sw/bin/wget --load-cookies cookies.txt  http://www.yaronet.com/dposts.php
if grep "Vous avez un nouveau mini-message" dposts.php 2> /dev/null
then
if [ -f mmsg.php ]
then
touch mmsg.php
else
/usr/local/bin/growlnotify --appIcon Safari -m 'Vous avez un nouveau minimessage'
touch mmsg.php
fi
else
rm mmsg.php
fi
rm dposts.php

si vous trouvez plus simple, je suis preneur ^^
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

19

kim :
Evidemment, ça reste que du growl, donc je peux pas mettre de lien cliquable dessus, mais ça peut déjà être sympa à faire.

pourquoi on ne peut pas mettre de lien cliquable dessus ? Avec AdiumX, quand j'ai un nouveau message et que je clique dessus, j'accède directement à la conversation

sinon, je pense que pour mes sujets ça m'intéresserait plus happy
en plus, ça ne doit pas être si difficile de s'authentifier en passant par wget comme je l'ai fait pour les nouveaux minimessages happy
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

20

Flanker :
pourquoi on ne peut pas mettre de lien cliquable dessus ? Avec AdiumX, quand j'ai un nouveau message et que je clique dessus, j'accède directement à la conversation


Alors là, je découvre smile
Flanker :

sinon, je pense que pour mes sujets ça m'intéresserait plus smile2.gif en plus, ça ne doit pas être si difficile de s'authentifier en passant par wget comme je l'ai fait pour les nouveaux minimessages


ben, ton script fait déjà tout ça, y'a juste à faire un petit parsing derrière... Probablement plus simple que yn24
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

21

oué, mais flemme de faire le parsing grin
surtout qu'il faudrait que je le fasse en php, parce que le python je ne connais pas.

edit : y a le nombre de messages postés, donc ça peut-être jouable
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

22

en php avec une base de donnée mysql, ça serait gênant à votre avis ? j'essaierai d'y réfléchir ce soir
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

23

ouais, c'est lourd... j'aurais bien préconisé sqlite, mais c'est lourd aussi : j'eux pas imposer l'installation d'un sgbd
nan mais j'me penche dessus ce soir en python, ça serait pas mal.
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

24

perl c parfait pour le parsing wink

25

tu veux parser quoi en quoi? a la limite si tu veux je le fais...

26

(déplacement de commentaire tongue )

pour les masochistes, y'a sûrement plus efficace, mais :

sed -e 's/[.\n]*ls(\([0-9]*\));/\1\
/g' dp.html > dp2.html
grep -e '/onclick/' dp2.html > dp3.html
sed -ie 's/.*onclick="//g' dp3.html
rm dp.html dp2.html

permet de récupérer les numéros des pages à afficher, avec :
for i in `cat dp3.html`
do
open http://www.yaronet.com/last.php?s=$i
done


Dans l'bousin y manque le titre du topic, mais bon... grin
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

27

Flanker :
rm login.php

tu peux rajouter -O/dev/null aux options de wget à la place, c plus zouli smile

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

28

Voilà la version avec le titre du topic y'a sûrement moyen de faire moins crade notamment grâce à ed, mais flemme smilegrin

sed -ie 's/[.\n]*ls(\([0-9]*\));/\1\
/g' dp.html
grep -e 'onclick' dp.html > dp2.html
sed -ie 's/.*onclick="//g' dp2.html

grep '^" onmouseout' dp.html > dp3.html
sed -ie 's/^\" onmouseout=\"[^\>]*\>//g' dp3.html
sed -ie 's/<\/a>.*//g' dp3.html

count=1
for i in `cat dp2.html`
do
titre=`tail -rn $count dp3.html | tail -n 1`
echo "$i => $titre"
count=$(($count + 1))
done

rm dp*.html
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

29

Note : l'idée était de ne pas avoir à sortir tout un attirail à la con pour si peu (en l'occurrence, python ça aurait été un mauvais choix pour si peu de choses)
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

30

kim :
(en l'occurrence, python ça aurait été un mauvais choix pour si peu de choses)

oui, un mix de java, de common lisp et de haskell s'impose oui

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)