X-Git-Url: https://jfr.im/git/z_archive/twitter.git/blobdiff_plain/0a24ba9ece4445032c2fcdccf0264065b062eb5f..569ec9b3fb04bdf26a41c73b2de3e406740c1906:/twitter/cmdline.py diff --git a/twitter/cmdline.py b/twitter/cmdline.py index f238d6c..c32470a 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 }