view oauth_experiment.py @ 8:51dfea268026

removed oauth_callback param
author Atul Varma <avarma@mozilla.com>
date Sat, 12 Jun 2010 20:06:52 -0700
parents c6aef586ab82
children 42fe50c20cc8
line wrap: on
line source

import os
import json
import oauth2 as oauth
import twitter_client

config = json.loads(open("config.json").read())

consumer = oauth.Consumer(config['consumer_key'],
                          config['consumer_secret'])

class Storage(object):
    def __filename(self, name):
        return "__REQUEST_TOKEN_%s.json" % name

    def __contains__(self, name):
        return os.path.exists(self.__filename(name))

    def __delitem__(self, name):
        if not name in self:
            raise KeyError(name)
        os.remove(self.__filename(name))

    def __getitem__(self, name):
        if not name in self:
            raise KeyError(name)
        return json.loads(open(self.__filename(name)).read())

    def __setitem__(self, name, value):
        open(self.__filename(name), 'w').write(json.dumps(value))

def success_app(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/plain')])
    return ['woot %s' % repr(environ['oauth.access_token'])]

app = twitter_client.TwitterOauthClientApp(
    consumer=consumer,
    oauth=oauth,
    request_tokens=Storage(),
    success_delegate=success_app
    )