def get_posts(hostname, oauth, api_key, offset=0, limit=10): pattern = r'http://api.tumblr.com/v2/blog/%s/posts?api_key=%s&filter=raw&offset=%s&limit=%s' posts_url = pattern % (hostname, api_key, offset, limit) resp, content = oauth.request(posts_url, "GET") if resp['status'] != '200': raise Exception("Invalid response %s." % resp['status']) return json.loads(content)['response']['posts']
def get_info(hostname, oauth, api_key): info_url = r'http://api.tumblr.com/v2/blog/%s/info?api_key=%s' % ( hostname, api_key ) resp, content = oauth.request(info_url, "GET") if resp['status'] != '200': raise Exception("Invalid response %s." % resp['status']) return json.loads(content)['response']
def regTwitter(self, token_key=None, token_secret=None, token_pin=None): import oauth2 import autosub.notify.twitter as notifytwitter try: from urlparse import parse_qsl except: from cgi import parse_qsl if not token_key and not token_secret: consumer = oauth2.Consumer(key=notifytwitter.CONSUMER_KEY, secret=notifytwitter.CONSUMER_SECRET) oauth_client = oauth2.Client(consumer) response, content = oauth2.request(notifytwitter.REQUEST_TOKEN_URL, 'GET') if response['status'] != '200': message = "Something went wrong when trying to register Twitter" tmpl = PageTemplate( file="interface/templates/config-settings.tmpl") tmpl.message = message tmpl.displaymessage = "Yes" tmpl.modalheader = "Error" return str(tmpl) else: request_token = dict(parse_qsl(content)) tmpl = PageTemplate( file="interface/templates/config-twitter.tmpl") tmpl.url = notifytwitter.AUTHORIZATION_URL + "?oauth_token=" + request_token[ 'oauth_token'] token_key = request_token['oauth_token'] token_secret = request_token['oauth_token_secret'] tmpl.token_key = token_key tmpl.token_secret = token_secret return str(tmpl) if token_key and token_secret and token_pin: token = oauth2.Token(token_key, token_secret) token.set_verifier(token_pin) consumer = oauth2.Consumer(key=notifytwitter.CONSUMER_KEY, secret=notifytwitter.CONSUMER_SECRET) oauth_client2 = oauth2.Client(consumer, token) response, content = oauth_client2.request( notifytwitter.ACCESS_TOKEN_URL, method='POST', body='oauth_verifier=%s' % token_pin) access_token = dict(parse_qsl(content)) if response['status'] != '200': message = "Something went wrong when trying to register Twitter" tmpl = PageTemplate( file="interface/templates/config-settings.tmpl") tmpl.message = message tmpl.displaymessage = "Yes" tmpl.modalheader = "Error" return str(tmpl) else: autosub.TWITTERKEY = access_token['oauth_token'] autosub.TWITTERSECRET = access_token['oauth_token_secret'] message = "Twitter registration complete.<br> Remember to save your configuration and test Twitter!" tmpl = PageTemplate( file="interface/templates/config-settings.tmpl") tmpl.message = message tmpl.displaymessage = "Yes" tmpl.modalheader = "Information" return str(tmpl)