Mercurial > dive4elements > website
view newsfeed.py @ 49:a9a3c55ef91c
Made CGI feed script more readable.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 20 Mar 2014 14:01:48 +0100 |
parents | 8cc0036041cf |
children | f00a8a8d9225 |
line wrap: on
line source
#!/usr/bin/env python import urllib2 import simplejson import time # SETTINGS user = "dive4elements-test" url = "http://io.intevation.de/api/user/%s/feed/public" % user verb = "share" # post or share max_posts = 5 max_length = 350 opacity75 = 20 ocacity50 = 10 # END SETTINGS output = [] oa = output.append postcount = 1 oa('<ul style="list-style-type: square; margin-left:-25px;line-height: 23px;">') response = urllib2.urlopen(url) data = simplejson.load(response,'utf8') for item in data["items"]: # only shares or posts are interesting if item["verb"] != verb: continue # max_posts if postcount > max_posts: break try: content = item["object"]["content"] except KeyError: continue postcount += 1 content = content.encode('utf8') oa("<li>") if len(content) >= max_length: oa(content[:(max_length-opacity75)]) oa("<a href="+item["actor"]["url"]+">") #oa("<a href="+item["object"]["url"]+">") oa('<span style="opacity: 0.75;filter:Alpha(opacity=75)">') oa(content[(max_length-opacity75):(max_length-ocacity50)]) oa('</span>') oa('<span style="opacity: 0.50;filter:Alpha(opacity=50)">') oa(content[(max_length-ocacity50):(max_length)]) oa('...</span></a>') else: oa(content) oa('<br>') actor = item["actor"] #oa("<a href="+item["object"]["links"]["self"]["href"]+">more...</a>") oa('<span style="font-size:smaller">') oa('<a href="'+actor["url"]+'">'+actor["displayName"]+'</a>') #oa(item["content"]) if verb == "share": oa(' via <a href="'+item["object"]["url"]+'">'+item["object"]["author"]["displayName"]+'</a>') #if verb == "share": # oa(' via <a href="'+item["object"]["author"]["url"]+'">'+item["object"]["author"]["displayName"]+'</a>') # 2014-01-03T10:30:02Z date = time.strptime(item["updated"],"%Y-%m-%dT%H:%M:%SZ") oa(time.strftime(" %d.%m.%Y um %H:%M:%S", date)) oa('</span>') oa("</li>") oa("</ul>") #oa('<a href="'+data["author"]["url"]+'">mehr von '+data["author"]["displayName"]+'</a>' ) body = ''.join(output) print "Content-Type: text/html;charset=utf-8" print print body