X-Git-Url: https://jfr.im/git/z_archive/twitter.git/blobdiff_plain/0a24ba9ece4445032c2fcdccf0264065b062eb5f..30af6c0f49cd4a11409f0ff1d78dab696e9c7749:/twitter/cmdline.py diff --git a/twitter/cmdline.py b/twitter/cmdline.py index f238d6c..d2010b3 100644 --- a/twitter/cmdline.py +++ b/twitter/cmdline.py @@ -43,6 +43,7 @@ FORMATS for the --format option 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) @@ -72,14 +73,15 @@ except (AttributeError, KeyError): 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 @@ -228,6 +230,11 @@ class VerboseStatusFormatter(object): 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): @@ -316,6 +323,7 @@ formatters = {} status_formatters = { 'default': StatusFormatter, 'verbose': VerboseStatusFormatter, + 'json': JSONStatusFormatter, 'urls': URLStatusFormatter, 'ansi': AnsiStatusFormatter } @@ -492,11 +500,11 @@ class RepliesAction(StatusAction): 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): @@ -583,6 +591,7 @@ class TwitterShell(Action): class PythonPromptAction(Action): def __call__(self, twitter, options): try: + import pdb; pdb.set_trace() while True: smrt_input(globals(), locals()) except EOFError: