Voici un petit script python qui affiche en OSD le titre des news de LinuxFR tombant dans http://linuxfr.org/news/archive/. Vous pouvez modifer l'url par http://fr.news.yahoo.com/ si par exemple vous voulez infos ça marche aussi! (changez la couleur de l'OSD selon l'url ;-))
ce script repose sur python-osd donc:
apt-get install python-osd
ou urmpi chéplutrokoi....
NdM :Et non, pas urpmi, puisque ce n'est pas dans la Mandrake :-)
Aller plus loin
# Re: LinuxFR en OSD
Posté par mammique . Évalué à 5.
# Re: LinuxFR en OSD
Posté par Pascal Terjan (site web personnel) . Évalué à 4.
Il est ici http://pascal.terjan.free.fr/rpm/pyosd-0.2.5-1mdk.i586.rpm(...) en attendant de le faire inclure dans les contribs :-)
Par contre ca foire sur le script en question :
Traceback (most recent call last):
File "linuxfr.py", line 25, in ?
display.set_font("-adobe-helvetica-bold-r-normal-*-*-200-*-*-p-*-iso8859-1")
File "/usr/lib/python2.2/site-packages/pyosd/__init__.py", line 122, in set_font
_pyosd.set_font(self._osd, font)
pyosd.error: Requested font not found
Segmentation fault (core dumped)
[^] # Re: LinuxFR en OSD
Posté par Pascal Terjan (site web personnel) . Évalué à 3.
Faudrait quand même éviter le core dump quand la font existe pas :-)
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 2.
[^] # Re: LinuxFR en OSD
Posté par Guillaume Rousse (site web personnel) . Évalué à 2.
c'est fait.
[^] # Re: LinuxFR en OSD
Posté par Infernal Quack (site web personnel) . Évalué à 4.
Il ne faut pas une mise en quarantaine du paquets comme chez debian ?
[jesors]
L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire
[^] # Re: LinuxFR en OSD
Posté par Jar Jar Binks (site web personnel) . Évalué à -1.
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 1.
# Re: LinuxFR en OSD
Posté par Olivier . Évalué à 1.
--------------------------------
for x in updated:
[...]
for y in current:
--------------------------------
pour espérer avoir un jour des nouvelles news à s'afficher ? Car si on ne parcourt que les éléments "connus", comment peut-on voir les nouveaux éléments ?
Enfin moi j'dis ça... en faisant l'inversion, ça marche...
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 1.
J'ai aussi corrigé à l'arrache le probleme de fonte:
try:
display.set_font("-adobe-helvetica-bold-r-normal-*-*-200-*-*-p-*-iso8859-1")
except: pass
[^] # Re: LinuxFR en OSD
Posté par Zorro (site web personnel) . Évalué à 4.
L'exemple même de la collaboration et de l'amélioration en temps réel.
Longue vie au libre.
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 2.
Je sait pas vous mais sans modestie aucune je fini pas m'habituer à ce gadjet qui comme tout gadjet est rigoureusement indispensable! (Jérome Bonaldi).
Faites moi part de vos impressions pour peut êter améliorer le truc comme la création de templates pour différents sites ?
# OSD ?
Posté par analogue o/ (site web personnel) . Évalué à 3.
[^] # Re: OSD ?
Posté par mammique . Évalué à 1.
c'est comme les petit |||||||||------ qui s'affichent sur ta télé quand tu monte le son :-) Sauf que là ta le titre des news qui apparait en texte.
PS: vous savez ske je peut proposer comme police pour qu'elle soit assez grosse mais standard ?
[^] # Re: OSD ?
Posté par Zorro (site web personnel) . Évalué à 1.
# Re: LinuxFR en OSD
Posté par Gentoo][Gravis . Évalué à 1.
Python 2.2.1 (#1, Nov 27 2002, 20:20:04)
[GCC 2.95.3 20010315 (release)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyosd
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.2/site-packages/pyosd/__init__.py", line 29, in ?
import _pyosd
ImportError: /usr/lib/python2.2/site-packages/_pyosd.so: undefined symbol: XFillRectangle
quelqu'un sait d'ou ca vient ??
[^] # Re: LinuxFR en OSD
Posté par Étienne . Évalué à 0.
Mauvais troll : changer troll
Etienne
[^] # Re: LinuxFR en OSD
Posté par Mathieu Pillard (site web personnel) . Évalué à 1.
[^] # Re: LinuxFR en OSD
Posté par Gentoo][Gravis . Évalué à 1.
# Re: LinuxFR en OSD
Posté par gilles renault (site web personnel, Mastodon) . Évalué à 1.
gil@pc-ccri-12 renault $ python linuxfr.py
Traceback (most recent call last):
File "linuxfr.py", line 40, in ?
modif = False
NameError: name 'False' is not defined
gil@pc-ccri-12 renault $
[^] # Re: LinuxFR en OSD
Posté par Jar Jar Binks (site web personnel) . Évalué à -1.
Il a un problème, ton python. Il se passe quoi si tu ouvres une session python et que tu fais toto=False ?
[^] # Re: LinuxFR en OSD
Posté par lorill (site web personnel) . Évalué à 1.
t'as quelle version de Python ?
si tu veux pas changer, mets simplement un False = 0 au debut du fichier.
[^] # Re: LinuxFR en OSD
Posté par gilles renault (site web personnel, Mastodon) . Évalué à 1.
Python 2.1.3 (#1, Jul 29 2002, 22:34:51)
[GCC 2.95.4 20011002 (Debian prerelease)] on linux2
Type "copyright", "credits" or "license" for more information.
>>>
ok je mets le False=0 et j'essai
[^] # Re: LinuxFR en OSD
Posté par Jar Jar Binks (site web personnel) . Évalué à 0.
# C'est quoi un OSD !
Posté par Mes Zigues . Évalué à -4.
MZ
[^] # Re: C'est quoi un OSD !
Posté par Mes Zigues . Évalué à 1.
C'était l'heure de la sieste, c'est pour cela que je ne l'ai pas vu.
# Re: LinuxFR en OSD
Posté par Fabien Penso (site web personnel, Mastodon) . Évalué à 1.
Ca ne fait rien du tout chez moi...
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 2.
# Re: LinuxFR en OSD
Posté par Gyro Gearllose . Évalué à 1.
J'ai la version 2.2.2 de Python d'installée, et ça ne fonctionne pas. Quand je tente un ./linuxfr.py, ça me dit :
Traceback (most recent call last):
File "./linuxfr.py", line 3, in ?
import htmllib, formatter, urllib, time, pyosd
ImportError: No module named pyosd</i>
Visiblement, il manque le module pyosd, mais où le trouve-t-on ? J'ai cherché dans les sources de Python sans succès. Dommage, je pensais que c'était un truc koules.
[^] # Re: LinuxFR en OSD
Posté par Pascal Terjan (site web personnel) . Évalué à 1.
[^] # Re: LinuxFR en OSD
Posté par Gyro Gearllose . Évalué à 1.
Cependant, j'ai maintenant installé xosd (ver 2.0.1) et pyosd (0.2.5), et ça ne fonctionne toujours pas !
Les 2 se sont installés correctement, puis j'ai fait un ldconfig en tant que root pour que tout soit Ok, mais voici le message d'insulte que le script envoie :
Traceback (most recent call last):
File "./linuxfr.py", line 3, in ?
import htmllib, formatter, urllib, time, pyosd
File "/usr/local/lib/python2.2/site-packages/pyosd/__init__.py", line 29, in ?
import _pyosd
ImportError: /usr/local/lib/python2.2/site-packages/_pyosd.so: undefined symbol: xosd_set_offset
Quelqu'un a une idée sur la question ?
[^] # Re: LinuxFR en OSD
Posté par Panda Voyageur (site web personnel, Mastodon) . Évalué à 1.
Moi sans le fichier patché, j'avais aussi un pb dans __init__.py (je ne sais plus le message exact).
Et avec le nouveau, j'ai le problème de segfault sur False (et True aussi d'ailleurs). Et pourtant j'ai Python 2.2
Donc en ajoutant False =0; True =1; au début du fichier, il ne se passe rien pendant quelques temps, puis segmentation fault :)
C'est peut-être lié au fait que l'accès aux pages webs est seulement possible par proxy ici, il y a un moyen d'en définir un? (désolé si c'est une question bête mais je n'ai jamais fait de python)
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 1.
http://www.python.org/doc/lib/module-urllib.html(...)
The urlopen() function works transparently with proxies which do not require authentication. In a Unix or Windows environment, set the http_proxy, ftp_proxy or gopher_proxy environment variables to a URL that identifies the proxy server before starting the Python interpreter. For example (the "%" is the command prompt):
% http_proxy="http://www.someproxy.com:3128"(...)
% export http_proxy
% python
...
In a Macintosh environment, urlopen() will retrieve proxy information from Internet Config.
Proxies which require authentication for use are not currently supported; this is considered an implementation limitation.
[^] # Re: LinuxFR en OSD
Posté par Gyro Gearllose . Évalué à 1.
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 1.
# try:
# display.set_font("-adobe-helvetica-bold-r-normal-*-*-200-*-*-p-*-iso8859-1")
#except: pass
Ca devrait s'écrire du coup en tout petit. Essaye avec http://fr.news.yahoo.com/(...) la page est plus souvent upadtée.
Merci.
[^] # Re: LinuxFR en OSD
Posté par Gyro Gearllose . Évalué à 1.
Petite astuce quand même, si on est derrière un proxy, il suffit de faire :
$ http_proxy="http://mon.proxy.com:8080"(...) ./linuxfr.py
pour que ça fonctionne. En tout cas, c'est ce que j'ai compris en voyant un message ici, mixé à une astuce utilisée dans le LFS.
Sinon, y a-t-il un moyen de choisir l'emplacement de l'osd, ainsi que la couleur de la police, etc...
J'y connais rien, mais j'ai quand même eu des affichages bizares en haut à gauche de mon écran du genre :
en gros (police 36 au moins) et de jaune gras....
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 1.
tu peut changer la police ici display.set_font("-adobe-helvetica-bold-r-normal-*-*-200-*-*-p-*-iso8859-1"), tu peut remplacer 200 par 120 par exemple pour la taille et bold pour le gras :-)
et la couleur ici display.set_colour("#FFFF00") tu peut aussi l'écrire en toutes lettre comme display.set_colour("blue") si tu veut du bleu
si tu as eut un truc du genre HTTP://linuxfr.org/archive à mon avis c ke le lien était mort, réesaye plus tard, j'essayerais de modifier poru que rien ne s'affiche si ya une trop grande différence entre deux rafraichissements.
[^] # Re: LinuxFR en OSD
Posté par Gyro Gearllose . Évalué à 1.
J'ai mis l'url de yahoo que tu proposais, et ça fonctionne !!!!!!
Seul hic, quand on lance ton prog sans le & à la fin, ça affiche le titre des news sur la sortie standard. C'est voulu ou c'est un effet de bord ?
Bon, en attendant, je vais jouer avec les polices et les couleurs pour avoir un truc lisible. Si on pouvait choisir l'emplacement de l'OSD, ce serait parfait, car je suis sous KDE, et l'affichage en haut à gauche, ça gêne le menu du bureau !
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 2.
display.set_pos(pyosd.POS_TOP) tu peut mettre pyosd.POS_BOT pour en bas
et oui c'est voulu la sortie standard, tu peut l'enlever en comentant la ligne print x
if (nouveau == True):
#print x
display.display(x)
time.sleep(time_disp)
[^] # Re: LinuxFR en OSD
Posté par Gyro Gearllose . Évalué à 1.
Si je peux me permettre juste une ou deux petites remarques....
En fait, je trouve que le temps d'affichage est assez court. Je ne m'y connais pas du tout en python, mais d'après ce que j'ai pu constater, c'est la variable time_disp qui règle ça. C'est exprimé en quoi ? secondes ? 1/10 de secondes ? ou autres ?
C'est principalement ce qui m'a fait croire que ça ne fonctionnait pas au départ, car je ne suis pas tout le temps les yeux rivés à mon écran.
L'idée est excellente, mais pourquoi ne pas laisser l'osd affiché avec la valeur en cours, jusqu'à ce que le contenu change, par exemple ?
Et puis, dernière chose, le nec plus ultra, serait d'avoir un lien cliquable dans l'osd, ainsi quand un titre de news accroche l'utilisateur, il n'a qu'à cliquer dessus pour aller sur la page idoine et consulter la-dite news.
Bref, en tout cas, c'est un bon truc en arrière plan, du bon boulot, même si la mise en route n'est pas évidente (mais l'aide en ligne est très bien faite (cf. ci-dessus et ci-dessous)!
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 1.
C'est pas bête comme tu dis de laisser le message affiché jusqu'à une nouvelle info mais osd ne fonctionne pas comme ça, on doit lui spécifer un nombre de secondes d'affichage et puis ca disparait, ou alors faire une fonction d'affichage en thread qui troune en boucle qui partage une pile d'infos avec le __main__ à étudier! masi c'est vrai que ca serait mieu et qu'on pourrait du coup écrire en plus petit :-)
pour le lien clikable la je voit pas du tout car c pas supporté par osd, ou alors il faudrait faire un applet et oublier OSD, en revanche détecter un certain mouvement de souris comme le plugin mozilla le fait ca doit etre plus jouable :-)
et merci pour les compliments c encourageant ! merci a tous.
[^] # Re: LinuxFR en OSD
Posté par Panda Voyageur (site web personnel, Mastodon) . Évalué à 1.
Sur Yahoo rien non plus sauf sur la console "aplouf... nouvel essai dans 20 secondes..."
Je pense que je vais réessayer avec un autre xosd...
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 1.
# python -c "import urllib; print urllib.urlopen('http://linuxfr.org/news/archive/'(...)).read();"
Si tu veut tester l'affichage OSD tape cette ligne de commande, "TEST" devrait apparaitre en petit et en blanc.
# python -c "import pyosd, time; d = pyosd.osd(); d.display('TEST'); time.sleep(3);"
[^] # Re: LinuxFR en OSD
Posté par Panda Voyageur (site web personnel, Mastodon) . Évalué à 1.
En fait, je m'étais embrouillé les pinceaux à force de modifier le script dans tous les sens: en changeant l'adresse, en mettant des lignes commentaires, ...
Le segfault venait bien de la police: sur mon système elle n'existe pas en taille 200.
Et un programme de + en tâche de fond :) Merci pour tes conseils.
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 1.
Quelqu'un à conseil de police à mettre par defaut ? Vu que plusieurs personnes ont des problèmes j'aimerais mettre kkchoz de plus standard.
Merci.
[^] # Re: LinuxFR en OSD
Posté par Panda Voyageur (site web personnel, Mastodon) . Évalué à 1.
Sinon c'est vrai qu'on peut rater les messages (j'ai personnellement augmenté le temps pendant lequel ils restent affichés). Quelle est la syntaxe d'un appel système en python? (histoire d'appeler 'esdplay vousavezunosdenattente.son).
Et sur news.yahoo.fr, j'ai un problème avec ma police en 240: la ligne peut dépasser le bord de l'écran, mais il n'y a pas de retour à la ligne. Pourtant la doc de pysol parle dans l'initialisation de l'objet d'un nombre de lignes fixé à 2 en standard (elle parle aussi d'un offset vertical bien pratique quand on n'aime pas les textes qui apparaissent sur le dock windowmaker)... Est-ce que c'est autre chose? Dans ce cas on pourrait également couper les lignes avant de les afficher.
Voilà, mes petites remarques :)
PS: quand linuxfr déménage ses serveurs, on est vite en manque!
[^] # Re: LinuxFR en OSD
Posté par lorill (site web personnel) . Évalué à 1.
import os
et la ou tu veux appeler :
os.system("la commande")
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 1.
import commands
commands.getstatusoutput('esdplay')
En ce qui concerne le placement et le retour à la ligne du texte, je n'ai pas vu ce dont tu parle mias je n'ai pas tout lu, je vais jetter un oeil.
# Re: LinuxFR en OSD
Posté par mammique . Évalué à 1.
Ca le fait chez moi car quand le site ne répond pas ma passerelle SME (pas top dailleurs) me met kand meme une page qui du coup n'a plus rien a voir avec la page à comparer. SI il y a trop de différence ça recharge jusqu'à ce que ce soit comparable.
# Re: LinuxFR en OSD
Posté par Yann KLIS (site web personnel) . Évalué à 1.
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 1.
[^] # Re: LinuxFR en OSD
Posté par Jar Jar Binks (site web personnel) . Évalué à 0.
# Re: LinuxFR en OSD
Posté par qdm . Évalué à 1.
Traceback (most recent call last):
File "linuxfr.py", line 3, in ?
import htmllib, formatter, urllib, time, pyosd
File "/usr/lib/python2.2/site-packages/pyosd/__init__.py", line 29, in ?
import _pyosd
ImportError: /usr/lib/python2.2/site-packages/_pyosd.so: undefined symbol: xosd_set_vertical_offset
Une idée ?
[^] # Re: LinuxFR en OSD
Posté par mammique . Évalué à 1.
A part ça c'est vrai kil y a un manque d'homogénéité sur mdk apparement. Il faut dire ke le packet est frais. merci Jar jar Binks.
[^] # Re: LinuxFR en OSD
Posté par Pascal Terjan (site web personnel) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.