default one line per status
verbose multiple lines per status, more verbose status info
+ json raw json data from the api on each line
urls nothing but URLs
ansi ansi colour (rainbow mode)
CONSUMER_KEY = 'uS6hO2sV6tDKIOeVjhnFnQ'
CONSUMER_SECRET = 'MEYTOS97VvlHX7K1rwHPEqVpTSqZ71HtvoK4sVuYk'
-import sys
-import time
from getopt import gnu_getopt as getopt, GetoptError
from getpass import getpass
-import re
-import os.path
+import json
import locale
+import os.path
+import re
import string
+import sys
+import time
try:
from ConfigParser import SafeConfigParser
status['created_at'],
gHtmlParser.unescape(status['text'])))
+class JSONStatusFormatter(object):
+ def __call__(self, status, options):
+ status['text'] = gHtmlParser.unescape(status['text'])
+ return json.dumps(status)
+
class URLStatusFormatter(object):
urlmatch = re.compile(r'https?://\S+')
def __call__(self, status, options):
status_formatters = {
'default': StatusFormatter,
'verbose': VerboseStatusFormatter,
+ 'json': JSONStatusFormatter,
'urls': URLStatusFormatter,
'ansi': AnsiStatusFormatter
}
class FollowAction(AdminAction):
def getUser(self, twitter, user):
- return twitter.friendships.create(id=user)
+ return twitter.friendships.create(screen_name=user)
class LeaveAction(AdminAction):
def getUser(self, twitter, user):
- return twitter.friendships.destroy(id=user)
+ return twitter.friendships.destroy(screen_name=user)
class SetStatusAction(Action):
def __call__(self, twitter, options):