Source

twits / twits.py

#! /usr/bin/env python
"""twits is a simple command-line interface to show you the 
latest tweets without distracting you"""

import datetime
import sys
import twitter

from optparse import OptionParser, OptionGroup

def getPublicTweets():
    api = twitter.Api()
    return api.GetPublicTimeline()

def getUserTweets(user):
    api = twitter.Api()
    return api.GetUserTimeline(user)

def printTweets(tweets, count):
    currDate = datetime.datetime.min
    for tweet in tweets[:count]:
        tDate = datetime.datetime.strptime(tweet.created_at, '%a %b %d %H:%M:%S +0000 %Y')

        if (tDate.day != currDate.day) or (tDate.month != currDate.month) or (tDate.year != currDate.year):
            print ""
            print "%s" % tDate.strftime('%b %d')
            print "------"

        print "%s - %s" % (tDate.strftime('%I:%M'), tweet.text)
        currDate = tDate

def _build_parser():
    """Return a parser for the command-line interface."""
    usage = "Usage: %prog [-u USERNAME] [-c COUNT]"
    parser = OptionParser(usage=usage)
    
    config = OptionGroup(parser, "Configuration Options")
    config.add_option("-u", "--user", dest="user", default="",
                      help="Show a specific USER")
    config.add_option("-c", "--count", dest="count", default="10",
                      help="Show COUNT number of tweets")
    parser.add_option_group(config)
    
    return parser

def _main():
    """Run the twits program."""
    (options, args) = _build_parser().parse_args()

    # print options
    # print args

    if options.user:
	    tweets = getUserTweets(options.user)
    else:
	    tweets = getPublicTweets()

    printTweets(tweets, int(options.count))

if __name__ == "__main__":
    _main()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.