summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Plugin.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Server/Plugin.py')
-rw-r--r--src/lib/Server/Plugin.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/Server/Plugin.py b/src/lib/Server/Plugin.py
index 8bbf6cdac..9a4d8fb1e 100644
--- a/src/lib/Server/Plugin.py
+++ b/src/lib/Server/Plugin.py
@@ -1,7 +1,7 @@
'''This module provides the baseclass for Bcfg2 Server Plugins'''
__revision__ = '$Revision$'
-import logging, lxml.etree, re
+import logging, lxml.etree, re, copy
from lxml.etree import XML, XMLSyntaxError
@@ -356,7 +356,10 @@ class PrioDir(Plugin, XMLDirectoryBacked):
index = prio.index(max(prio))
data = matching[index].cache[1][entry.tag][name]
- [entry.attrib.__setitem__(key, data[key]) for key in data.keys()]
if data.has_key('__text__'):
- del entry.attrib['__text__']
entry.text = data['__text__']
+ del data['__text__']
+ if data.has_key('__children__'):
+ [entry.append(copy.deepcopy(item)) for item in data['__children__']]
+ del data['__children__']
+ [entry.attrib.__setitem__(key, data[key]) for key in data.keys()]