[omniORB] CosNotification.StructuredEvent printing
Anna Patil
patilanna at hotmail.com
Mon Aug 31 11:41:21 UTC 2020
Thanks Duncan.
regards
Anna Patil
________________________________
From: Duncan Grisby <duncan at grisby.org>
Sent: Monday, August 17, 2020 8:03 PM
To: Anna Patil <patilanna at hotmail.com>; omniorb-list at omniorb-support.com <omniorb-list at omniorb-support.com>
Subject: Re: [omniORB] CosNotification.StructuredEvent printing
You have received a CosNotification::StructuredEvent struct, as defined in idl/COS/CosNotification.idl. It's a pretty complicated data structure, but you don't need to "parse" it -- it is already a collection of Python objects. You just need to access the members you want.
What are you actually trying to do? Get particular data out of the structure, or dump the whole thing in a human-readable way?
StructuredEvent is defined as:
struct StructuredEvent {
EventHeader header;
FilterableEventBody filterable_data;
any remainder_of_body;
};
So the Python object you have has corresponding members. e.g.
s_event = # the value you received
header = s_event.header
filterable_data = s_event.filterable_data
and then for example, filterable_data is defined as:
struct Property {
PropertyName name;
PropertyValue value;
};
typedef sequence<Property> PropertySeq;
// The following are the same, but serve different purposes.
typedef PropertySeq FilterableEventBody;
So filterable_data is a list of Property structures:
for prop in filterable_data:
name = prop.name
# value is an Any, so you can get its contents with value()
value = prop.value.value()
print(f"Property {name} = {value}")
You can access all the data in that sort of way. Without more specific details about what you are trying to do, it's not possible to tell you exactly what code you might need.
Duncan.
On Sat, 2020-08-15 at 05:42 +0000, Anna Patil via omniORB-list wrote:
Hi All,
I am able to pull pull_structured_event() as below, however support required to parse these events.
Received event from nms
---------------------------------------------
CosNotification.StructuredEvent(header=CosNotification.EventHeader(fixed_header=CosNotification.FixedEventHeader(event_type=CosNotification.EventType(domain_name='tmf_mtnm', type_name='NT_ALARM'), event_name=''), variable_header=[]), filterable_data=[CosNotification.Property(name='notificationId', value=CORBA.Any(CORBA.TC_string, '2646127')), CosNotification.Property(name='objectName', value=CORBA.Any(CORBA.TypeCode("IDL:mtnm.tmforum.org/globaldefs/NVSList_T:1.0"), [globaldefs.NameAndStringValue_T(name='EMS', value='ECI/LightSoft_1'), globaldefs.NameAndStringValue_T(name='ManagedElement', value='ECI/EMS_STMS_40/9130'), globaldefs.NameAndStringValue_T(name='PTP', value='port-ub/0')])), CosNotification.Property(name='nativeEMSName', value=CORBA.Any(CORBA.TC_string, 'ge-ub/0.0')), CosNotification.Property(name='objectType', value=CORBA.Any(CORBA.TypeCode("IDL:mtnm.tmforum.org/notifications/ObjectType_T:1.0"), OT_PHYSICAL_TERMINATION_POINT)), CosNotification.Property(name='emsTime', value=CORBA.Any(CORBA.TC_string, '20200814132322.3')), CosNotification.Property(name='neTime', value=CORBA.Any(CORBA.TC_string, '20200814132319.470')), CosNotification.Property(name='isClearable', value=CORBA.Any(CORBA.TC_boolean, False)), CosNotification.Property(name='layerRate', value=CORBA.Any(CORBA.TC_short, 87)), CosNotification.Property(name='perceivedSeverity', value=CORBA.Any(CORBA.TypeCode("IDL:mtnm.tmforum.org/notifications/PerceivedSeverity_T:1.0"), PS_INDETERMINATE)), CosNotification.Property(name='nativeProbableCause', value=CORBA.Any(CORBA.TC_string, 'OSPF If Config Error')), CosNotification.Property(name='probableCause', value=CORBA.Any(CORBA.TC_string, 'UNIDENTIFIED')), CosNotification.Property(name='probableCauseQualifier', value=CORBA.Any(CORBA.TC_string, 'ospfIfConfigError@@ge-ub/0.0@@0')), CosNotification.Property(name='serviceAffecting', value=CORBA.Any(CORBA.TypeCode("IDL:mtnm.tmforum.org/notifications/ServiceAffecting_T:1.0"), SA_NON_SERVICE_AFFECTING)), CosNotification.Property(name='affectedTPList', value=CORBA.Any(CORBA.TypeCode("IDL:mtnm.tmforum.org/globaldefs/NamingAttributesList_T:1.0"), [])), CosNotification.Property(name='rcaiIndicator', value=CORBA.Any(CORBA.TC_boolean, False)), CosNotification.Property(name='additionalText', value=CORBA.Any(CORBA.TC_string, 'ospfIfConfigError: OSPF interface configuration error 7 received from ')), CosNotification.Property(name='additionalInfo', value=CORBA.Any(CORBA.TypeCode("IDL:mtnm.tmforum.org/globaldefs/NVSList_T:1.0"), [globaldefs.NameAndStringValue_T(name='LSNExt_NativeProbableCause', value='OSPF If Config Error'), globaldefs.NameAndStringValue_T(name='LSNExt_AckStatus', value='ALM_UNACKNOWLEDGED'), globaldefs.NameAndStringValue_T(name='LSNExt_MEName', value='Shapath_Bareja_8CH'), globaldefs.NameAndStringValue_T(name='LSNExt_GroupName', value='Apollo_Gujrat'), globaldefs.NameAndStringValue_T(name='LSNExt_ALCV', value='Unknown'), globaldefs.NameAndStringValue_T(name='LSNExt_AlarmUniqueString', value='EMS DN=ECI/EMS_STMS_40, EMS notifId=9183695, CAM ID=5')]))], remainder_of_body=CORBA.Any(CORBA.TC_null, None))
---------------------------------
would like to print like below
==========
Sample taken from https://docs.oracle.com/cd/E51879_01/doc.724/e59309/tmfin_nms_list_ref.htm#BABHIEAF
this is done in java, how can I parse in Python.
name: notificationId value:29
name: objectName value:
name: EMS value:ECI/LightSoft_1
name: ManagedElement value:LSN/EMS_XDM_121/1064
name: EquipmentHolder value:/rack=1/shelf=1/slot=1/sub_slot=4
name: objectType value:OT_EQUIPMENT_HOLDER
name: emsTime value:20140302141559.0
name: neTime value:
name: edgePointRelated value:FALSE
name: remainder_of_body value:
Name: attributeList value:
name: EMS value:ECI/LightSoft_1
name: ManagedElement value:LSN/EMS_XDM_121/1064
name: EquipmentHolder value:/rack=1/shelf=1/slot=1/sub_slot=4
name: userLabel value:I1 OTR1 4
name: nativeEMSName value:I1 OTR1 4
name: owner value:
name: alarmReportingIndicator value:TRUE
name: holderType value:sub_slot
name: expectedOrInstalledEquipment value:
name: EMS value:LSN/EMS_XDM_121
name: ManagedElement value:1064
name: EquipmentHolder value:/rack=1/shelf=1/slot=1/sub_slot=4
name: Equipment value:1
name: EquipmentObjectTypeList value:
NONE
ETR1
OTR1
name: holderState value:EXPECTED_AND_NOT_INSTALLED
name: additionalInfo value:
name: LSNExt_TimestampSignature value:20140302141559.8
regards
Anna Patil
_______________________________________________
omniORB-list mailing list
omniORB-list at omniorb-support.com<mailto:omniORB-list at omniorb-support.com>
https://www.omniorb-support.com/mailman/listinfo/omniorb-list
--
-- Duncan Grisby --
-- duncan at grisby.org --
-- http://www.grisby.org --
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.omniorb-support.com/pipermail/omniorb-list/attachments/20200831/641a2516/attachment-0001.html>
More information about the omniORB-list
mailing list