Пример #1
0
                              cleanup_interval=args.cleanup_interval,
                              disk_cache=args.disk_cache)

    # Only create reader(s) if they've given us a network to read from;
    # otherwise, count on data coming from websocket publish
    # connections.
    if args.udp:
        readers = []
        # Readers may either be just a port (to listen for broadcast) or
        # a multicast_group:port to listen for multicast.
        for udp_spec in args.udp.split(','):
            group_port = udp_spec.split(':')
            port = int(group_port[-1])
            multicast_group = group_port[-2] if len(group_port) == 2 else ''
            readers.append(UDPReader(port=port, source=multicast_group))
        transform = FromJSONTransform()
        reader = ComposedReader(readers=readers, transforms=[transform])

    # Loop, reading data and writing it to the cache
    try:
        while True:
            if args.udp:
                record = reader.read()
                server.cache_record(record)
            else:
                time.sleep(args.interval)

    except KeyboardInterrupt:
        logging.warning('Received KeyboardInterrupt - shutting down')
        if args.disk_cache:
            logging.warning(
Пример #2
0
        transforms.append(XMLAggregatorTransform(new_args.aggregate_xml))

      if new_args.max_min:
        transforms.append(MaxMinTransform())

      if new_args.count:
        transforms.append(CountTransform())

      if new_args.to_json:
        transforms.append(ToJSONTransform())

      if new_args.to_json_pretty:
        transforms.append(ToJSONTransform(pretty=True))

      if new_args.from_json:
        transforms.append(FromJSONTransform())

      if new_args.from_json_to_das_record:
        transforms.append(FromJSONTransform(das_record=True))

      if new_args.to_das_record:
        transforms.append(
          ToDASRecordTransform(field_name=new_args.to_das_record))

      ##########################
      # Writers
      if new_args.write_file:
        for filename in new_args.write_file.split(','):
          if filename == '-':
            filename = None
          writers.append(TextFileWriter(filename=filename))
Пример #3
0
 def test_from(self):
     from_trans = FromJSONTransform()
     result = from_trans.transform(pretty_str)
     self.assertDictEqual(sample_dict, result)
Пример #4
0
 def test_das_record_from(self):
     from_trans = FromJSONTransform(das_record=True)
     result = from_trans.transform(pretty_str)
     self.assertEqual(type(result), DASRecord)
     self.assertDictEqual(sample_dict, result.fields)
Пример #5
0
    def test_both_ways(self):
        to_trans = ToJSONTransform()
        from_trans = FromJSONTransform()

        result = from_trans.transform(to_trans.transform(sample_dict))
        self.assertDictEqual(sample_dict, result)