예제 #1
0
 def __iter__(self):
     if not self.stdin:
         for (method, properties, body) in self.channel.consume(self.queue):
             self.channel.basic_ack(0, multiple=True)
             yield CMessage(headers=properties.headers,
                            rkey=method.routing_key,
                            object=body if self.raw else json.loads(body))
     else:
         for line in self.stdin:
             if not line.strip():
                 continue
             yield adict(json.loads(line))
예제 #2
0
    def on_message(message):
        # (method, properties, body) = message
        out = adict(object=message.object,
                    headers=message.headers,
                    rkey=message.rkey)
        if args.keys:
            out.object = extract_keys(out.object, args.keys)

        out.object = post_process(out.object)

        if not args.verbose:
            out = out.object

        if args.z is None or out:
            print_(out)
            print