Пример #1
0
 def decode(self, value):
     try:
         value = base64.b64decode(value.encode('utf-8')).decode('utf-8')
         value = json.loads(value)
     except:
         raise SQSDecodeError('Unable to decode message', self)
     return value
Пример #2
0
 def decode(self, value):
     try:
         value = base64.b64decode(value)
         value = simplejson.loads(value)
     except:
         raise SQSDecodeError('Unable to decode message', self)
     return value
Пример #3
0
 def _get_s3_object(self, s3_url):
     bucket_name, key_name = self._get_bucket_key(s3_url)
     if bucket_name and key_name:
         s3_conn = boto.connect_s3()
         s3_bucket = s3_conn.get_bucket(bucket_name)
         key = s3_bucket.get_key(key_name)
         return key
     else:
         msg = 'Unable to decode S3 URL: %s' % s3_url
         raise SQSDecodeError(msg, self)
Пример #4
0
 def decode(self, value):
     try:
         msg = {}
         fp = StringIO(value)
         line = fp.readline()
         while line:
             delim = line.find(':')
             key = line[0:delim]
             value = line[delim + 1:].strip()
             msg[key.strip()] = value.strip()
             line = fp.readline()
     except:
         raise SQSDecodeError('Unable to decode message', self)
     return msg
Пример #5
0
 def _get_bucket_key(self, s3_url):
     bucket_name = key_name = None
     if s3_url:
         if s3_url.startswith('s3://'):
             # We need to split out the bucket from the key (if
             # supplied).  We also have to be aware that someone
             # may provide a trailing '/' character as in:
             # s3://foo/ and we want to handle that.
             s3_components = s3_url[5:].split('/', 1)
             bucket_name = s3_components[0]
             if len(s3_components) > 1:
                 if s3_components[1]:
                     key_name = s3_components[1]
         else:
             msg = 's3_url parameter should start with s3://'
             raise SQSDecodeError(msg, self)
     return bucket_name, key_name
Пример #6
0
 def decode(self, value):
     try:
         value = base64.b64decode(value.encode('utf-8')).decode('utf-8')
     except:
         raise SQSDecodeError('Unable to decode message', self)
     return super(EncodedMHMessage, self).decode(value)
Пример #7
0
 def decode(self, value):
     try:
         value = base64.b64decode(value)
     except:
         raise SQSDecodeError('Unable to decode message', self)
     return MHMessage.decode(self, value)
Пример #8
0
 def decode(self, message):
     raise SQSDecodeError('Sample decode error', self)