Created
November 15, 2009 12:20
-
-
Save laiso/235173 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env python | |
| # -*- coding: utf-8 -*- | |
| import urllib | |
| import urllib2 | |
| try: | |
| import json | |
| except: | |
| import simplejson as json | |
| import tweepy | |
| # TODO | |
| # Sorry Self Service ! @see http://twitter.com/oauth_clients | |
| USE_TWITTER_OAUTH_FLUG = False | |
| TWITTER_OAUTH_CONSUMER = '' | |
| TWITTER_OAUTH_CONSUMER_SECRET = '' | |
| TWITTER_ACCESS_TOKEN_KEY = '' | |
| TWITTER_ACCESS_TOKEN_SECRET = '' | |
| class Wassr: | |
| # copied http://bitbucket.org/a2c/pytter/pytter.py | |
| SOURCE = "konversation-twissr" | |
| def __init__(self, user, passwd): | |
| self.user = user | |
| self.passwd = passwd | |
| def post(self, text): | |
| text = text.encode('utf-8') | |
| self.getOpener().open('http://api.wassr.jp/statuses/update.json', \ | |
| urllib.urlencode({'status': text, 'source': Wassr.SOURCE})) | |
| def getTimeline(self): | |
| url = 'http://api.wassr.jp/statuses/friends_timeline.json' | |
| r = self.getOpener().open(url) | |
| data = json.loads(r.read()) | |
| return data | |
| def getReplies(self): | |
| url = 'http://api.wassr.jp/statuses/replies.json' | |
| r = self.getOpener().open(url) | |
| data = json.loads(r.read()) | |
| return data | |
| def getOpener(self): | |
| passman = urllib2.HTTPPasswordMgrWithDefaultRealm() | |
| passman.add_password(None, 'api.wassr.jp', self.user, self.passwd) | |
| authhandler = urllib2.HTTPBasicAuthHandler(passman) | |
| opener = urllib2.build_opener(authhandler) | |
| opener.addheaders = [('User-agent', \ | |
| 'Konversation/twissr(http://www.laiso.org/konversation/)')] | |
| return opener | |
| if __name__ == "__main__": | |
| from sys import argv | |
| from pit import Pit | |
| input = argv[3] | |
| input = input+" ".join(list(argv[4:])) | |
| TEXT = unicode(input, 'utf-8') | |
| wassr_config = Pit.get('wassr.jp', {"require": \ | |
| {"login": "your wassr id", \ | |
| "password": "your wassr password"}}) | |
| wassr_client = Wassr(wassr_config['login'], wassr_config['password']) | |
| twitter_client = None | |
| if USE_TWITTER_OAUTH_FLUG: | |
| tweepy_auth = tweepy.OAuthHandler(\ | |
| TWITTER_OAUTH_CONSUMER, \ | |
| TWITTER_OAUTH_CONSUMER_SECRET) | |
| tweepy_auth.set_access_token(\ | |
| TWITTER_ACCESS_TOKEN_KEY, \ | |
| TWITTER_ACCESS_TOKEN_SECRET) | |
| else: | |
| twitter_config = Pit.get('twitter.com', {"require": \ | |
| {"login": "your twitter id", \ | |
| "password": "your twitter password"}}) | |
| tweepy_auth = tweepy.BasicAuthHandler(\ | |
| twitter_config['login'], \ | |
| twitter_config['password']) | |
| twitter_client = tweepy.API(tweepy_auth) | |
| twitter_client.update_status(TEXT) | |
| wassr_client.post(TEXT) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment