diff --git a/mtconnect/agent.py b/mtconnect/agent.py index d3e6823..c94e604 100644 --- a/mtconnect/agent.py +++ b/mtconnect/agent.py @@ -9,7 +9,7 @@ from .storage import MTBuffer, MTDataEntity from .xmlhelper import read_devices, process_path from .error import MTInvalidRequest, MTInvalidRange -from .device import MTComponent, MTDevice +from .device import MTComponent, MTDevice, MTDataItem from .loghandler import MTLogger @@ -287,7 +287,9 @@ def get_item_list(self, path=None): #get all sub items from path item_set = set() for component in component_list: - item_set = item_set.union(set(component.get_all_sub_items())) + if (isinstance(component, MTDataItem)): + return component_list + component.get_all_sub_items() return item_set #format data into xml diff --git a/mtconnect/xmlhelper.py b/mtconnect/xmlhelper.py index a59fe90..12ee8e2 100644 --- a/mtconnect/xmlhelper.py +++ b/mtconnect/xmlhelper.py @@ -76,7 +76,9 @@ def process_components(component_list, device, parent_component): #get list of subcomponents sub_component_item = component.find('Components') if(sub_component_item is not None): - sub_component_list = sub_component_item.getchildren() + sub_component_list = [] + for item in sub_component_item: + sub_component_list.append(item) process_components(sub_component_list, device, new_component) #read device xml from file @@ -92,7 +94,7 @@ def read_devices(file): #get devices root = device_tree.getroot() - for device in root.getchildren(): + for device in root: #get identifiers for device device_name = device.get('name') device_uuid = device.get('uuid') @@ -118,7 +120,9 @@ def read_devices(file): #get list of subcomponents component_item = device.find('Components') if(component_item is not None): - component_list = component_item.getchildren() + component_list = [] + for item in component_item: + component_list.append(item) process_components(component_list, new_device, new_device) device_list[new_device.id]=new_device diff --git a/setup.py b/setup.py index 844d5bc..bf74a5e 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="MTConnect", - version="0.3.1", + version="0.3.2", author="Michael Honaker", author_email="mchonaker@gmail.com", description="A python agent for MTConnect", diff --git a/tests/agent_test.py b/tests/agent_test.py index 2dc2213..320f17f 100644 --- a/tests/agent_test.py +++ b/tests/agent_test.py @@ -15,7 +15,7 @@ class AgentTest(unittest.TestCase): def __init__(self, *args, **kwargs): super(AgentTest, self).__init__(*args, **kwargs) - self.test_agent = MTConnect(loc='tests/test_device.xml') + self.test_agent = MTConnect(loc='test_device.xml') def testProbe(self):