def __init__(self, node, position=1, size=1, variables=None, namespaces=None, extmodules=(), extfunctions=None, output_parameters=None): writer.__init__(self, output_parameters) self.node, self.position, self.size = node, position, size self.variables = {} if variables: self.variables.update(variables) self.namespaces = {'xml': XML_NAMESPACE} if namespaces: self.namespaces.update(namespaces) # This may get mutated during processing self.functions = self.functions.copy() # Search the extension modules for defined functions for module in extmodules: if module: if not isinstance(module, types.ModuleType): module = __import__(module, {}, {}, ['ExtFunctions']) funcs = getattr(module, 'extension_functions', None) if funcs: self.functions.update(funcs) # Add functions given directly if extfunctions: self.functions.update(extfunctions) self._writers = [] return
def __init__(self, parameters, errors=True): writer.__init__(self, parameters) self._errors = errors