| #!/usr/bin/env python |
| # Copyright (c) 2009 Chris Moyer http://coredumped.org |
| # |
| # Permission is hereby granted, free of charge, to any person obtaining a |
| # copy of this software and associated documentation files (the |
| # "Software"), to deal in the Software without restriction, including |
| # without limitation the rights to use, copy, modify, merge, publish, dis- |
| # tribute, sublicense, and/or sell copies of the Software, and to permit |
| # persons to whom the Software is furnished to do so, subject to the fol- |
| # lowing conditions: |
| # |
| # The above copyright notice and this permission notice shall be included |
| # in all copies or substantial portions of the Software. |
| # |
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
| # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- |
| # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT |
| # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
| # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS |
| # IN THE SOFTWARE. |
| # |
| if __name__ == "__main__": |
| from optparse import OptionParser |
| usage = """%prog [options] URI |
| Fetch a URI using the boto library and (by default) pipe contents to STDOUT |
| The URI can be either an HTTP URL, or "s3://bucket_name/key_name" |
| """ |
| parser = OptionParser(version="0.1", usage=usage) |
| parser.add_option("-o", "--out-file", |
| help="File to receive output instead of STDOUT", |
| dest="outfile") |
| |
| (options, args) = parser.parse_args() |
| if len(args) < 1: |
| parser.print_help() |
| exit(1) |
| from boto.utils import fetch_file |
| f = fetch_file(args[0]) |
| if options.outfile: |
| open(options.outfile, "w").write(f.read()) |
| else: |
| print f.read() |