#!/usr/bin/env python3

from __future__ import print_function
import os
import sys
import time

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

# sleep a little bit or we will never see the asm in the configuration file
# and the message received just before we go to the established loop will be printed twice
time.sleep(1)

print('announce operational rpcq afi ipv4 safi unicast sequence %d' % counter)
print('announce operational rpcp afi ipv4 safi unicast sequence %d counter 200' % counter)
time.sleep(1)

counter += 1

print('announce operational apcq afi ipv4 safi unicast sequence %d' % counter)
print('announce operational apcp afi ipv4 safi unicast sequence %d counter 150' % counter)
time.sleep(1)

counter += 1

print('announce operational lpcq afi ipv4 safi unicast sequence %d' % counter)
print('announce operational lpcp afi ipv4 safi unicast sequence %d counter 250' % counter)
time.sleep(1)

while True:
    try:
        time.sleep(1)
        if counter % 2:
            print('announce operational adm afi ipv4 safi unicast advisory "this is dynamic message #%d"' % counter)
            sys.stdout.flush()
        else:
            print('announce operational asm afi ipv4 safi unicast advisory "we SHOULD not send asm from the API"')
            sys.stdout.flush()

        counter += 1
    except KeyboardInterrupt:
        pass
    except IOError:
        break
