mgebbe@31: <%
mgebbe@31: import requests
mgebbe@31: import urllib2
mgebbe@31: import simplejson
mgebbe@31: import time
mgebbe@31:
mgebbe@31:
mgebbe@31: # SETTINGS
mgebbe@31:
mgebbe@32: tmpl = "/var/lib/gforge/chroot/home/groups/dive4elements/htdocs/index.html"
mgebbe@31: url = "https://io.intevation.de/api/user/dive4elements/feed/public"
mgebbe@31: #url = "https://io.intevation.de/api/user/Intevation/feed/public"
mgebbe@31: verb = "share" # post or share
mgebbe@31: max_posts = 5
mgebbe@31: max_length = 300
mgebbe@31: opacity75 = 20
mgebbe@31: ocacity50 = 10
mgebbe@31:
mgebbe@31: # END SETTINGS
mgebbe@31:
mgebbe@31: with open (tmpl, "r") as myfile:
mgebbe@31: template=myfile.read().replace('\n', '')
mgebbe@31:
mgebbe@31: req.content_type = "text/html; charset=UTF-8"
mgebbe@31: output = []
mgebbe@31:
mgebbe@31: postcount = 1
mgebbe@31:
mgebbe@31: output.append(
mgebbe@31: '
'
mgebbe@31: )
mgebbe@31:
mgebbe@31: response = urllib2.urlopen(url)
mgebbe@31: data = simplejson.load(response,'utf8')
mgebbe@31:
mgebbe@31: for item in data["items"]:
mgebbe@31:
mgebbe@31: # only shares or posts are interesting
mgebbe@31: if item["verb"] != verb: continue
mgebbe@31:
mgebbe@31: # max_posts
mgebbe@31: if postcount > max_posts: break
mgebbe@31:
mgebbe@31: try:
mgebbe@31: content = item["object"]["content"]
mgebbe@31: except KeyError:
mgebbe@31: continue
mgebbe@31: postcount+=1
mgebbe@31:
mgebbe@31: content = content.encode('utf-8')
mgebbe@31: output.append("- ")
mgebbe@31:
mgebbe@31: if len(content) >= max_length:
mgebbe@31: output.append(content[:(max_length-opacity75)])
mgebbe@31: output.append("")
mgebbe@31: #output.append("")
mgebbe@31: output.append('' + content[(max_length-opacity75):(max_length-ocacity50)] + '' + '' + content[(max_length-ocacity50):(max_length)] + '...')
mgebbe@31: else:
mgebbe@31: output.append(content)
mgebbe@31:
mgebbe@31: output.append('
')
mgebbe@31: #output.append("more...")
mgebbe@31: output.append('')
mgebbe@31: output.append(''+item["actor"]["displayName"]+'')
mgebbe@31: #output.append(item["content"])
mgebbe@31: if verb == "share": output.append(' via '+item["object"]["author"]["displayName"]+'')
mgebbe@31: #if verb == "share": output.append(' via '+item["object"]["author"]["displayName"]+'')
mgebbe@31: # 2014-01-03T10:30:02Z
mgebbe@31: date=time.strptime(item["updated"],"%Y-%m-%dT%H:%M:%SZ")
mgebbe@31: output.append(" "+(time.strftime("%d.%m.%Y um %H:%M:%S", date)))
mgebbe@31: output.append('')
mgebbe@31: output.append(" ")
mgebbe@31:
mgebbe@31: output.append("
")
mgebbe@31: #output.append('mehr von '+data["author"]["displayName"]+'' )
mgebbe@31:
mgebbe@31: str = ''.join(output)
mgebbe@31: template = template.replace('{newsfeed}',str)
mgebbe@31:
mgebbe@31: req.write(template)
mgebbe@31: %>