summaryrefslogtreecommitdiffstats
path: root/src/pdmgen.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/pdmgen.py')
-rwxr-xr-xsrc/pdmgen.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/pdmgen.py b/src/pdmgen.py
index 7487015..55df3e3 100755
--- a/src/pdmgen.py
+++ b/src/pdmgen.py
@@ -718,6 +718,29 @@ class Event(Callback, Renderer):
c=self,
indent=indent)
+
+class ElogWithMetadata(Callback, Renderer):
+ '''Handle the elog_with_metadata callback config file directive.'''
+
+ def __init__(self, *a, **kw):
+ self.error = kw.pop('error')
+ self.metadata = kw.pop('metadata')
+ super(ElogWithMetadata, self).__init__(**kw)
+
+ def construct(self, loader, indent):
+ with open('errors.hpp', 'a') as fd:
+ fd.write(
+ self.render(
+ loader,
+ 'errors.mako.hpp',
+ c=self))
+ return self.render(
+ loader,
+ 'elog_with_metadata.mako.cpp',
+ c=self,
+ indent=indent)
+
+
class ResolveCallout(Callback, Renderer):
'''Handle the 'resolve callout' callback config file directive.'''
@@ -901,6 +924,7 @@ class Everything(Renderer):
'callback': {
'journal': Journal,
'elog': Elog,
+ 'elog_with_metadata': ElogWithMetadata,
'event': Event,
'group': GroupOfCallbacks,
'method': Method,
OpenPOWER on IntegriCloud