Files
test/keywords/ptp/cat/objects/default_interface_options_output.py
jpike 468d85bfa5 Adding ptp keywords for pmc command
Adding keywords and objects for both pmc
get_default_data_set and get_parent_data_set

Change-Id: Ie266390ee797d1c9886cbeb319694628165ec99a
2025-02-11 09:50:32 -05:00

74 lines
3.0 KiB
Python

from keywords.ptp.cat.cat_ptp_table_parser import CatPtpTableParser
from keywords.ptp.cat.objects.default_interface_options_object import DefaultInterfaceOptionsObject
class DefaultInterfaceOptionsOutput:
"""
This class parses the output of Default Interface Options
Example:
clock_type OC
network_transport UDPv4
delay_mechanism E2E
time_stamping hardware
tsproc_mode filter
delay_filter moving_median
delay_filter_length 10
egressLatency 0
ingressLatency 0
boundary_clock_jbod 0
"""
def __init__(self, default_interface_options_output: [str]):
"""
Constructor.
Create an internal DefaultInterfaceOptionsObject from the passed parameter.
Args:
default_interface_options_output (list[str]): a list of strings representing the default interface options output
"""
cat_ptp_table_parser = CatPtpTableParser(default_interface_options_output)
output_values = cat_ptp_table_parser.get_output_values_dict()
self.default_interface_options_object = DefaultInterfaceOptionsObject()
if 'clock_type' in output_values:
self.default_interface_options_object.set_clock_type(output_values['clock_type'])
if 'network_transport' in output_values:
self.default_interface_options_object.set_network_transport(output_values['network_transport'])
if 'delay_mechanism' in output_values:
self.default_interface_options_object.set_delay_mechanism(output_values['delay_mechanism'])
if 'time_stamping' in output_values:
self.default_interface_options_object.set_time_stamping(output_values['time_stamping'])
if 'tsproc_mode' in output_values:
self.default_interface_options_object.set_tsproc_mode(output_values['tsproc_mode'])
if 'delay_filter' in output_values:
self.default_interface_options_object.set_delay_filter(output_values['delay_filter'])
if 'delay_filter_length' in output_values:
self.default_interface_options_object.set_delay_filter_length(int(output_values['delay_filter_length']))
if 'egressLatency' in output_values:
self.default_interface_options_object.set_egress_latency(int(output_values['egressLatency']))
if 'ingressLatency' in output_values:
self.default_interface_options_object.set_ingress_latency(int(output_values['ingressLatency']))
if 'boundary_clock_jbod' in output_values:
self.default_interface_options_object.set_boundary_clock_jbod(int(output_values['boundary_clock_jbod']))
def get_default_interface_options_object(self) -> DefaultInterfaceOptionsObject:
"""
Getter for DefaultInterfaceOptionsObject object.
Returns:
A DefaultInterfaceOptionsObject
"""
return self.default_interface_options_object