Mercurial > hg > smartopen
view smartopen/smartopen.py @ 0:d6fa501af82f
initial commit of smartopen
author | k0s <k0scist@gmail.com> |
---|---|
date | Sat, 21 Nov 2009 15:46:01 -0500 |
parents | |
children | 10fc4904c10f |
line wrap: on
line source
#!/usr/bin/python """ smart open the data passed in """ import os import sys import urllib import urllib2 from optparse import OptionParser from handlers import * def main(args=sys.argv[1:]): # parse command line optioins parser = OptionParser() parser.add_option('-u', '--url', dest="url", action='store_true', default=False, help="print the first url handled") parser.add_option('-a', '--all', dest="all", action='store_true', default=False, help="print all handlers that match the query") options, args = parser.parse_args(args) # sanity check assert not (options.url and options.all) # get data to be operated on if args: data = ' '.join(args) else: data = sys.stdin.read() locations = [ URL, GoogleMap, Revision, TracTicket, Wikipedia, Google ] for loc in locations: loc = loc() if options.url: # print url if loc.test(data): print loc.url(data) sys.exit(0) elif options.all: if loc.test(data): print '%s: %s' % (loc.__class__.__name__, loc.url(data)) else: if loc.open(data): sys.exit(0) if __name__ == '__main__': main()