| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 # Copyright (c) 2006,2007 Chris Moyer | 
|  | 2 # | 
|  | 3 # Permission is hereby granted, free of charge, to any person obtaining a | 
|  | 4 # copy of this software and associated documentation files (the | 
|  | 5 # "Software"), to deal in the Software without restriction, including | 
|  | 6 # without limitation the rights to use, copy, modify, merge, publish, dis- | 
|  | 7 # tribute, sublicense, and/or sell copies of the Software, and to permit | 
|  | 8 # persons to whom the Software is furnished to do so, subject to the fol- | 
|  | 9 # lowing conditions: | 
|  | 10 # | 
|  | 11 # The above copyright notice and this permission notice shall be included | 
|  | 12 # in all copies or substantial portions of the Software. | 
|  | 13 # | 
|  | 14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | 
|  | 15 # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- | 
|  | 16 # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT | 
|  | 17 # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | 
|  | 18 # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | 
|  | 19 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | 
|  | 20 # IN THE SOFTWARE. | 
|  | 21 | 
|  | 22 """ | 
|  | 23 This module was contributed by Chris Moyer.  It provides a subclass of the | 
|  | 24 SQS Message class that supports YAML as the body of the message. | 
|  | 25 | 
|  | 26 This module requires the yaml module. | 
|  | 27 """ | 
|  | 28 from boto.sqs.message import Message | 
|  | 29 import yaml | 
|  | 30 | 
|  | 31 class YAMLMessage(Message): | 
|  | 32     """ | 
|  | 33     The YAMLMessage class provides a YAML compatible message. Encoding and | 
|  | 34     decoding are handled automaticaly. | 
|  | 35 | 
|  | 36     Access this message data like such: | 
|  | 37 | 
|  | 38     m.data = [ 1, 2, 3] | 
|  | 39     m.data[0] # Returns 1 | 
|  | 40 | 
|  | 41     This depends on the PyYAML package | 
|  | 42     """ | 
|  | 43 | 
|  | 44     def __init__(self, queue=None, body='', xml_attrs=None): | 
|  | 45         self.data = None | 
|  | 46         Message.__init__(self, queue, body) | 
|  | 47 | 
|  | 48     def set_body(self, body): | 
|  | 49         self.data = yaml.load(body) | 
|  | 50 | 
|  | 51     def get_body(self): | 
|  | 52         return yaml.dump(self.data) | 
| OLD | NEW | 
|---|