コード例 #1
0
    def test_simple_extraction(self):
        """
        Test that the TransactionExtractor handles preceding bad data
        and only returns the actual transaction in a timely manor.
        """
        transactions = []

        def store_transaction(stream_id, transaction):
            transactions.append(transaction)

        ext = TransactionExtractor('default', 'BEGIN', 'END', store_transaction)

        self.assertEquals(0, len(transactions))

        ext.write("rubbish")

        self.assertEquals(0, len(transactions))

        ext.write("BEGIN\nSomething\n")

        self.assertEquals(0, len(transactions))

        ext.write("END\n")

        self.assertEquals(1, len(transactions))

        transaction = transactions[0].split('\n')
        self.assertEquals(3, len(transaction))
        self.assertEquals("BEGIN", transaction[0])
        self.assertEquals("Something", transaction[1])
        self.assertEquals("END", transaction[2])
コード例 #2
0
ファイル: fakeserial.py プロジェクト: nigelb/SerialGrabber
 def _setup(self):
     self._con.connect()
     self._extractor = TransactionExtractor(0, 'BEGIN', 'END',
                                            self._handle_payload)
     self._mode = MODE_LIVE
     self._timeout = None
     self._last_data = None
コード例 #3
0
    def test_multiple_transactions(self):
        transactions = []

        def store_transaction(stream_id, transaction):
            transactions.append(transaction)

        ext = TransactionExtractor('default', 'BEGIN', 'END', store_transaction)

        ext.write("""BEGIN
STEP1
END
BEGIN
STEP2
END
""")
        self.assertEquals(2, len(transactions))
        self.assertTrue('STEP1' in transactions[0])
        self.assertTrue('STEP2' in transactions[1])
コード例 #4
0
# Serial Settings
hostname = "127.0.0.1"
port = 8099

# MQTT settings
mqtt_host = "localhost"
mqtt_port = 1883
mqtt_auth = ('system', 'manager')

# Settings
cache_collision_avoidance_delay = 1
processor_sleep = 1
watchdog_sleep = 1

commander_error_sleep = 1
reader_error_sleep = 1

drop_carriage_return = True

transaction = TransactionExtractor("default", "BEGIN", "END")

tcp = TcpServer(hostname, port)

reader = SerialReader(transaction, 1000, tcp)

commander = MqttCommander(mqtt_host, mqtt_port, mqtt_auth, send_data=True)

logging_processor = IgnoreResultProcessor(LoggingProcessor())

processor = CompositeProcessor([commander.processor, logging_processor])
コード例 #5
0
from serial_grabber.processor import TransformProcessor
from serial_grabber.processor.UploadProcessor import UploadProcessor
from ThingSpeakTransformer import ThingSpeakTransformer

# Serial Settings
timeout = 1
port = "/dev/ttyUSB0"
baud = 57600
parity = serial.PARITY_NONE
stop_bits = 1

# Settings
cache_collision_avoidance_delay = 1
processor_sleep = 1
watchdog_sleep = 1

reader_error_sleep = 1

drop_carriage_return = True

transaction = TransactionExtractor("default", "BEGIN SENSORS", "END SENSORS")

reader = FileReader(transaction, "ThingSpeakExample.data")

uploader = UploadProcessor(
    "http://api.thingspeak.com/update",
    headers={'content-type': 'application/x-www-form-urlencoded'},
)

processor = TransformProcessor(ThingSpeakTransformer(), uploader)
コード例 #6
0
# MQTT settings
mqtt_host = "localhost"
mqtt_port = 1883
mqtt_auth = ('system', 'manager')

# Settings
cache_collision_avoidance_delay = 1
processor_sleep = 1
watchdog_sleep = 1

reader_error_sleep = 1

drop_carriage_return = True

transaction = TransactionExtractor("default", "BEGIN DATA", "END DATA")

reader = SerialReader(
    transaction, 1000,
    SerialConnection(port,
                     baud,
                     timeout=timeout,
                     parity=parity,
                     stop_bits=stop_bits))

commander = MqttCommander(mqtt_host, mqtt_port, mqtt_auth)

uploadProcessor = UploadProcessor("https://example.org/cgi-bin/upload.py")

processor = CompositeProcessor([commander.processor, uploadProcessor])
コード例 #7
0
def create_stream(stream_id):
    print " ".join([format(ord(x), "02x") for x in stream_id])
    return TransactionExtractor(stream_id, "BEGIN", "END")