]> jfr.im git - z_archive/twitter.git/blobdiff - twitter/cmdline.py
Okay. It works now. Omg.
[z_archive/twitter.git] / twitter / cmdline.py
index f238d6c297821e5a3fd3248e16ceb1b3d9622944..d2010b3af8356c09a74aec39b331cdcc5ef186ae 100644 (file)
@@ -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: