| OLD | NEW |
| (Empty) |
| 1 #!/usr/bin/env python | |
| 2 # Copyright (c) 2010 Chris Moyer http://coredumped.org/ | |
| 3 # | |
| 4 # Permission is hereby granted, free of charge, to any person obtaining a | |
| 5 # copy of this software and associated documentation files (the | |
| 6 # "Software"), to deal in the Software without restriction, including | |
| 7 # without limitation the rights to use, copy, modify, merge, publish, dis- | |
| 8 # tribute, sublicense, and/or sell copies of the Software, and to permit | |
| 9 # persons to whom the Software is furnished to do so, subject to the fol- | |
| 10 # lowing conditions: | |
| 11 # | |
| 12 # The above copyright notice and this permission notice shall be included | |
| 13 # in all copies or substantial portions of the Software. | |
| 14 # | |
| 15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
| 16 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- | |
| 17 # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT | |
| 18 # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | |
| 19 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
| 20 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |
| 21 | |
| 22 # | |
| 23 # Send Mail from a PYAMI instance, or anything that has a boto.cfg | |
| 24 # properly set up | |
| 25 # | |
| 26 VERSION="0.1" | |
| 27 usage = """%prog [options] | |
| 28 Sends whatever is on stdin to the recipient specified by your boto.cfg | |
| 29 or whoevery you specify in the options here. | |
| 30 """ | |
| 31 | |
| 32 if __name__ == "__main__": | |
| 33 from boto.utils import notify | |
| 34 import sys | |
| 35 from optparse import OptionParser | |
| 36 parser = OptionParser(version=VERSION, usage=usage) | |
| 37 parser.add_option("-t", "--to", help="Optional to address to send to (defaul
t from your boto.cfg)", action="store", default=None, dest="to") | |
| 38 parser.add_option("-s", "--subject", help="Optional Subject to send this rep
ort as", action="store", default="Report", dest="subject") | |
| 39 parser.add_option("-f", "--file", help="Optionally, read from a file instead
of STDIN", action="store", default=None, dest="file") | |
| 40 | |
| 41 (options, args) = parser.parse_args() | |
| 42 if options.file: | |
| 43 body = open(options.file, 'r').read() | |
| 44 else: | |
| 45 body = sys.stdin.read() | |
| 46 | |
| 47 notify(options.subject, body=body, to_string=options.to) | |
| OLD | NEW |