Extract

app.yaml

application: valueref

version: 1

runtime: python

api_version: 1

handlers:

- url: /refvalue

  script: refvalue.py

  login: admin

cron.yaml

cron:

- description: refresh "value"

  url: /refvalue

  schedule: every 6 hours

refvalue.py

import re

import wsgiref.handlers

from google.appengine.ext import db

from google.appengine.ext import webapp

from google.appengine.api import urlfetch

class Value(db.Model):

  thevalue = db.IntegerProperty()

  when = db.DateTimeProperty(auto_now_add=True)

class RefValueHandler(webapp.RequestHandler):

  def get(self):

    resp = urlfetch.fetch('http://www.dailyfx.com/files/Calendar-11-28-2010.csv')

    mo = re.match(r'Value=(\d+)', resp.content)

    if mo:

      val = int(mo.group(1))

    else:

      val = None

    valobj = Value(thevalue=val)

    valobj.put()

def main():

  application = webapp.WSGIApplication(

    [('/refvalue', RefValueHandler),], debug=True)

  wsgiref.handlers.CGIHandler().run(application)

if __name__ == '__main__':

  main()