ó
è?F[c           @   sV   d  d l  Z  d  d l m Z d  d l m Z d  d l m Z d e f d „  ƒ  YZ d S(   iÿÿÿÿN(   t	   MHMessage(   t   SQSDecodeError(   t   jsont   JSONMessagec           B   s    e  Z d  Z d „  Z d „  Z RS(   sX   
    Acts like a dictionary but encodes it's data as a Base64 encoded JSON payload.
    c         C   sQ   y4 t  j | j d ƒ ƒ j d ƒ } t j | ƒ } Wn t d |  ƒ ‚ n X| S(   Ns   utf-8s   Unable to decode message(   t   base64t	   b64decodet   encodet   decodeR   t   loadsR   (   t   selft   value(    (    s3   lib/python2.7/site-packages/boto/sqs/jsonmessage.pyR   !   s    !c         C   s.   t  j | ƒ } t j | j d ƒ ƒ j d ƒ S(   Ns   utf-8(   R   t   dumpsR   t	   b64encodeR   R   (   R	   R
   (    (    s3   lib/python2.7/site-packages/boto/sqs/jsonmessage.pyR   )   s    (   t   __name__t
   __module__t   __doc__R   R   (    (    (    s3   lib/python2.7/site-packages/boto/sqs/jsonmessage.pyR      s   	(   R   t   boto.sqs.messageR    t   boto.exceptionR   t   boto.compatR   R   (    (    (    s3   lib/python2.7/site-packages/boto/sqs/jsonmessage.pyt   <module>   s   