Commit 90bcd3a1 authored by Cody's avatar Cody Committed by ORD

Avoid mutable default arguments

parent c38b0f0b
......@@ -233,7 +233,7 @@ def get_base_data_type(datatype):
raise ua.UaError("Datatype must be a subtype of builtin types %s" % datatype)
def get_nodes_of_namespace(server, namespaces=[]):
def get_nodes_of_namespace(server, namespaces=None):
"""
Get the nodes of one or more namespaces .
Args:
......@@ -242,6 +242,8 @@ def get_nodes_of_namespace(server, namespaces=[]):
Returns:
List of nodes that are part of the provided namespaces
"""
if namespaces is None:
namespaces = []
ns_available = server.get_namespace_array()
if not namespaces:
......
......@@ -359,19 +359,35 @@ class Server(object):
etype = BaseEvent()
return EventGenerator(self.iserver.isession, etype, source)
def create_custom_data_type(self, idx, name, basetype=ua.ObjectIds.BaseDataType, properties=[]):
def create_custom_data_type(self, idx, name, basetype=ua.ObjectIds.BaseDataType, properties=None):
if properties is None:
properties = []
return self._create_custom_type(idx, name, basetype, properties, [], [])
def create_custom_event_type(self, idx, name, basetype=ua.ObjectIds.BaseEventType, properties=[]):
def create_custom_event_type(self, idx, name, basetype=ua.ObjectIds.BaseEventType, properties=None):
if properties is None:
properties = []
return self._create_custom_type(idx, name, basetype, properties, [], [])
def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectType, properties=[], variables=[], methods=[]):
def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectType, properties=None, variables=None, methods=None):
if properties is None:
properties = []
if variables is None:
variables = []
if methods is None:
methods = []
return self._create_custom_type(idx, name, basetype, properties, variables, methods)
# def create_custom_reference_type(self, idx, name, basetype=ua.ObjectIds.BaseReferenceType, properties=[]):
# return self._create_custom_type(idx, name, basetype, properties)
def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVariableType, properties=[], variables=[], methods=[]):
def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVariableType, properties=None, variables=None, methods=None):
if properties is None:
properties = []
if variables is None:
variables = []
if methods is None:
methods = []
return self._create_custom_type(idx, name, basetype, properties, variables, methods)
def _create_custom_type(self, idx, name, basetype, properties, variables, methods):
......@@ -413,7 +429,7 @@ class Server(object):
exp.build_etree(nodes)
return exp.write_xml(path)
def export_xml_by_ns(self, path, namespaces=[]):
def export_xml_by_ns(self, path, namespaces=None):
"""
Export nodes of one or more namespaces to an XML file.
Namespaces used by nodes are always exported for consistency.
......@@ -424,6 +440,8 @@ class Server(object):
Returns:
"""
if namespaces is None:
namespaces = []
nodes = get_nodes_of_namespace(self, namespaces)
self.export_xml(nodes, path)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment