This is accomplished by combining a python script with the conky variable scroll. The python script will get the data, parse it and put it into a acceptable format for conky to handle the display. I've talked about conky earlier and using displaying the last instant message.
Copy the following code and save it as bottomscore.py
#!/usr/bin/python
import urllib
# Open html page
fweb = urllib.urlopen("http://scores.espn.go.com/ncb/bottomline/scores")
gamestr=''
score=''
# Manipulate str for unneccessary chars
raw=str(fweb.readline())
raw=raw.replace('%20',' ');
raw=raw.replace('^','');
raw=raw.replace('&','\n')
# Open data storage
f=open('bottom.dat', 'w')
f.write(raw)
f.close()
f=open('bottom.dat', 'r')
# Parse each line, get game, create str, append str
for line in f:
if line.find('_left')>1:
gamestr=line[line.find('=')+1:-1]
score= score + gamestr + ' | '
f.close()
print score
My conky script is as follows. Save this
#avoid flicker
double_buffer yes
#own window to run simultanious 2 or more conkys
own_window yes
own_window_transparent no
own_window_type normal
own_window_hints undecorate,sticky,skip_taskbar,skip_pager, above
#borders
draw_borders no
border_margin 0
#shades
draw_shades no
#position
gap_x 0
gap_y 0
alignment bottom_middle
#behaviour
update_interval 1
#colour
default_color 8f8f8f
#default_shade_color 000000
own_window_colour 262626
text_buffer_size 1400
#font
use_xft yes
xftfont bauhaus:pixelsize=10
#to prevent window from moving
use_spacer none
minimum_size 1400
TEXT
${color e0e0e0} ${scroll 2847 ${execpi 60 python ~/scripts/bottomscore.py}}
Remember to edit your .conkyrc to run the right path to bottomscore.py. You may need to edit certain parameters for your screen resolution but this should give you a good start. Any questions, post a comment.
Pro Tip:To run multiple conky screens:"conky -c .conkyrc2"
You're code is unreadable at best. But you're a wizard at python + conky.
ReplyDeleteIt's actually pretty well documented. You cannot expect there to be a comment for every line explaining the syntax (or explaining the syntax at all, really).
ReplyDelete