Skip to content

Instantly share code, notes, and snippets.

@laiso
Created November 15, 2009 12:20
Show Gist options
  • Select an option

  • Save laiso/235173 to your computer and use it in GitHub Desktop.

Select an option

Save laiso/235173 to your computer and use it in GitHub Desktop.
#!/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