aboutsummaryrefslogtreecommitdiffstats
path: root/dvb-t/se-Vansbro_Hummelberget
diff options
context:
space:
mode:
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
import feedparser
import time
import datetime
import tempfile
import linecache

# temporary file used to store rss entries
filename = "/tmp/rsstimer.tmp"
# interval in seconds between rss updates
updateinterval = 60

# lcd4linux permits only 1 parameter passed to the function
# we send the rss title id with the ! spacer
def getfeed(rssfeed):
    print rssfeed
    idx = 0
    feed = rssfeed.split('!')[0]
    idx = int(rssfeed.split('!')[-1])
    if (idx <= 0): idx = 1;
    
    oldfeed = fgetfeed()
    
    if (oldfeed != feed):
	lastupdate = 0
	print "Feed changed refresing"
    else:
        lastupdate = fgetseconds()
    
    if (lastupdate <= 0):
	saverss(feed)
    else:
	now = getseconds()
	delta = now - lastupdate
	if (delta > updateinterval):
	    print "Last update: " + str(delta) + " seconds ago. Updating the rss entries."
	    saverss(feed)
    # first line in the file is the timestamp second is the feed url
    output = linecache.getline(filename, idx + 2)
    print output
    return output
	
def getseconds():
    ts = datetime.datetime.now()
    return time.mktime(ts.timetuple())

def fgetseconds():
    try:
	f = open(filename, "r")
    except IOError:
	print "Cannot get timestamp from file"
	return 0
    else:
	return float(f.readline())

def fgetfeed():
    try:
	f = open(filename, "r")
    except IOError:
	print "Cannot get feed from file"
	return ' '
    else:
	# skip first line 
	f.readline()
	return f.readline().rstrip("\n")

	
def saverss(rssfeed):
    linecache.clearcache()
    f = open(filename, "w")
    # save timestamp
    f.write(str(getseconds()))
    f.write("\n")
    # save feed url
    f.write(rssfeed)
    f.write("\n")
    print "Downloading the rss feed from: " + rssfeed
    feed = feedparser.parse(rssfeed)
    for entry in feed.entries:
	f.write(entry.title)
	f.write("\n")
    f.close
    print "Done"

def printrss():
    f = open(filename, "r")
    f.readline()
    for line in f:
	print line
	
#print getfeed("http://slashdot.org/slashdot.rdf!5")
print getfeed("http://www.linux.com/feed?theme=rss!1")