ó
O'—^c           @@  s  d  Z  d d l m Z d d l m Z d d l Z i  Z i  Z i  Z d d d d d	 d
 g Z	 g  d „ Z
 d „  Z d „  Z d „  Z d „  Z d „  Z e
 e j e j d d d d g ƒy d d l Z Wn e k
 rÚ n# Xe
 e j e j d d d d g ƒd S(   s>   
kombu.compression
=================

Compression utilities.

i    (   t   absolute_import(   t   ensure_bytesNt   registert   encoderst   get_encodert   get_decodert   compresst
   decompressc         @  s5   |  t  ˆ  <| t ˆ  <t j ‡  f d †  | Dƒ ƒ d S(   sD  Register new compression method.

    :param encoder: Function used to compress text.
    :param decoder: Function used to decompress previously compressed text.
    :param content_type: The mime type this compression method identifies as.
    :param aliases: A list of names to associate with this compression method.

    c         3@  s   |  ] } | ˆ  f Vq d  S(   N(    (   t   .0t   alias(   t   content_type(    s3   /tmp/pip-unpacked-wheel-UAnTfW/kombu/compression.pys	   <genexpr>!   s    N(   t	   _encoderst	   _decoderst   _aliasest   update(   t   encodert   decoderR
   t   aliases(    (   R
   s3   /tmp/pip-unpacked-wheel-UAnTfW/kombu/compression.pyR      s    	

c           C@  s
   t  t ƒ S(   s/   Return a list of available compression methods.(   t   listR   (    (    (    s3   /tmp/pip-unpacked-wheel-UAnTfW/kombu/compression.pyR   $   s    c         C@  s    t  j |  |  ƒ }  t |  |  f S(   s   Get encoder by alias name.(   R   t   getR   (   t   t(    (    s3   /tmp/pip-unpacked-wheel-UAnTfW/kombu/compression.pyR   )   s    c         C@  s   t  t j |  |  ƒ S(   s   Get decoder by alias name.(   R   R   R   (   R   (    (    s3   /tmp/pip-unpacked-wheel-UAnTfW/kombu/compression.pyR   /   s    c         C@  s(   t  | ƒ \ } } | t |  ƒ ƒ | f S(   s}   Compress text.

    :param body: The text to compress.
    :param content_type: mime-type of compression method to use.

    (   R   R   (   t   bodyR
   R   (    (    s3   /tmp/pip-unpacked-wheel-UAnTfW/kombu/compression.pyR   4   s    c         C@  s   t  | ƒ |  ƒ S(   sœ   Decompress compressed text.

    :param body: Previously compressed text to uncompress.
    :param content_type: mime-type of compression method used.

    (   R   (   R   R
   (    (    s3   /tmp/pip-unpacked-wheel-UAnTfW/kombu/compression.pyR   ?   s    s   application/x-gzipR   t   gzipt   zlibs   application/x-bz2t   bzip2t   bzip(   t   __doc__t
   __future__R    t   kombu.utils.encodingR   R   R   R   R   t   __all__R   R   R   R   R   R   t   bz2t   ImportError(    (    (    s3   /tmp/pip-unpacked-wheel-UAnTfW/kombu/compression.pyt   <module>   s0   						
		