summaryrefslogtreecommitdiffstats
path: root/tests/topotests/bgp_multiview_topo1/peer1/exa-receive.py
blob: 8e65f1ae9a903c924c40e99e48a292e893f89fc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/env python

"""
exa-receive.py: Save received routes form ExaBGP into file
"""

from sys import stdin,argv
from datetime import datetime

# 1st arg is peer number
peer = int(argv[1])

# When the parent dies we are seeing continual newlines, so we only access so many before stopping
counter = 0

routesavefile = open('/tmp/peer%s-received' % peer, 'w')

while True:
    try:
        line = stdin.readline()
        timestamp = datetime.now().strftime('%Y%m%d_%H:%M:%S - ')
        routesavefile.write(timestamp + line)
        routesavefile.flush()

        if line == "":
            counter += 1
            if counter > 100:
                break
            continue

        counter = 0
    except KeyboardInterrupt:
        pass
    except IOError:
        # most likely a signal during readline
        pass

routesavefile.close()