view index.psp @ 32:960c044010e5

Activate Python Server Pages within .htaccess Set full path to index.html
author Mathias Gebbe <mgebbe@intevation.de>
date Mon, 03 Mar 2014 12:14:09 +0100
parents c66f4b393d15
children b775179be3d4
line wrap: on
line source
<%
import requests
import urllib2
import simplejson
import time


# SETTINGS

tmpl       = "/var/lib/gforge/chroot/home/groups/dive4elements/htdocs/index.html"
url        = "https://io.intevation.de/api/user/dive4elements/feed/public"
#url       = "https://io.intevation.de/api/user/Intevation/feed/public"
verb       = "share" # post or share
max_posts  = 5
max_length = 300
opacity75  = 20
ocacity50  = 10

# END SETTINGS

with open (tmpl, "r") as myfile:
    template=myfile.read().replace('\n', '')

req.content_type = "text/html; charset=UTF-8"
output = []

postcount  = 1

output.append(
        '<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('utf-8')
          output.append("<li>")

          if len(content) >= max_length:
             output.append(content[:(max_length-opacity75)])
             output.append("<a href="+item["actor"]["url"]+">")
             #output.append("<a href="+item["object"]["url"]+">")
             output.append('<span style="opacity: 0.75;filter:Alpha(opacity=75)">' + content[(max_length-opacity75):(max_length-ocacity50)] + '</span>' + '<span style="opacity: 0.50;filter:Alpha(opacity=50)">'  + content[(max_length-ocacity50):(max_length)] + '...</span></a>')
          else:
             output.append(content)

          output.append('<br>')
          #output.append("<a href="+item["object"]["links"]["self"]["href"]+">more...</a>")
          output.append('<span style="font-size:smaller">')
          output.append('<a href="'+item["actor"]["url"]+'">'+item["actor"]["displayName"]+'</a>')
          #output.append(item["content"])
          if verb == "share": output.append(' via <a href="'+item["object"]["url"]+'">'+item["object"]["author"]["displayName"]+'</a>')
          #if verb == "share": output.append(' 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")
          output.append(" "+(time.strftime("%d.%m.%Y um %H:%M:%S", date)))
          output.append('</span>')
          output.append("</li>")

output.append("</ul>")
#output.append('<a href="'+data["author"]["url"]+'">mehr von '+data["author"]["displayName"]+'</a>' )

str = ''.join(output)
template = template.replace('{newsfeed}',str)

req.write(template)
%>
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)