print >> sys.stderr, "No such action: ", options['action']
sys.exit(1)
+def printNicely(string):
+ if sys.stdout.encoding:
+ print string.encode(sys.stdout.encoding, 'replace')
+ else:
+ print string.encode('utf-8')
+
class StatusAction(Action):
def __call__(self, twitter, options):
- statuses = self.getStatuses(twitter)
+ statuses = self.getStatuses(twitter, options)
sf = get_status_formatter(options)
for status in statuses:
- statusStr = sf(status)
+ statusStr = sf(status, options)
if statusStr.strip():
- print statusStr.encode(sys.stdout.encoding, 'replace')
+ printNicely(statusStr)
class AdminAction(Action):
def __call__(self, twitter, options):
print
print e
else:
- print af(options['action'], user).encode(sys.stdout.encoding, 'replace')
+ printNicely(af(options['action'], user))
class FriendsAction(StatusAction):
- def getStatuses(self, twitter):
- return reversed(twitter.statuses.friends_timeline())
+ def getStatuses(self, twitter, options):
+ return reversed(twitter.statuses.friends_timeline(count=options["length"]))
class PublicAction(StatusAction):
- def getStatuses(self, twitter):
- return reversed(twitter.statuses.public_timeline())
+ def getStatuses(self, twitter, options):
+ return reversed(twitter.statuses.public_timeline(count=options["length"]))
class RepliesAction(StatusAction):
- def getStatuses(self, twitter):
- return reversed(twitter.statuses.replies())
+ def getStatuses(self, twitter, options):
+ return reversed(twitter.statuses.replies(count=options["length"]))
class FollowAction(AdminAction):
def getUser(self, twitter, user):