summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Plugins/DBStats.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Server/Plugins/DBStats.py')
-rw-r--r--src/lib/Server/Plugins/DBStats.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/Server/Plugins/DBStats.py b/src/lib/Server/Plugins/DBStats.py
index 1b8052c2d..d6d6d7819 100644
--- a/src/lib/Server/Plugins/DBStats.py
+++ b/src/lib/Server/Plugins/DBStats.py
@@ -1,3 +1,4 @@
+import binascii
import difflib
import logging
import lxml.etree
@@ -83,8 +84,14 @@ class DBStats(Bcfg2.Server.Plugin.Plugin,
ret.append(getattr(entry.reason, "current_%s" % t))
if entry.reason.current_diff != '':
- ret.append('\n'.join(difflib.restore(\
- entry.reason.current_diff.split('\n'), 1)))
+ if entry.reason.is_binary:
+ ret.append(binascii.a2b_base64(entry.reason.current_diff))
+ else:
+ ret.append('\n'.join(difflib.restore(\
+ entry.reason.current_diff.split('\n'), 1)))
+ elif entry.reason.is_binary:
+ # If len is zero the object was too large to store
+ raise Bcfg2.Server.Plugin.PluginExecutionError
else:
ret.append(None)
return ret