From 362c2f6b1f018aea00e2e1b8a9dea5d647a49aa1 Mon Sep 17 00:00:00 2001
From: Marco Mariani <marco.mariani@nexedi.com>
Date: Mon, 2 Jun 2014 10:11:49 +0200
Subject: [PATCH] jsondump recipes: return paths and update files

---
 slapos/recipe/jsondump.py          | 7 +++++--
 slapos/recipe/slapconfiguration.py | 8 +++++++-
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/slapos/recipe/jsondump.py b/slapos/recipe/jsondump.py
index 5a5cd7451..f6cf635b6 100644
--- a/slapos/recipe/jsondump.py
+++ b/slapos/recipe/jsondump.py
@@ -10,10 +10,13 @@ class Recipe(object):
             if key not in ['json-output', 'recipe']
         }
 
-        with os.fdopen(os.open(options['json-output'], os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600), 'w') as fout:
+        self._json_output = options['json-output']
+        with os.fdopen(os.open(self._json_output, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600), 'w') as fout:
             fout.write(json.dumps(parameter_dict, indent=2, sort_keys=True))
             fout.close()
 
     def install(self):
-        return []
+        return [self._json_output]
+
+    update = install
 
diff --git a/slapos/recipe/slapconfiguration.py b/slapos/recipe/slapconfiguration.py
index bd2e8954e..36cc991d8 100644
--- a/slapos/recipe/slapconfiguration.py
+++ b/slapos/recipe/slapconfiguration.py
@@ -170,6 +170,12 @@ class Serialised(Recipe):
 class JsonDump(Recipe):
   def __init__(self, buildout, name, options):
     parameter_dict = self.fetch_parameter_dict(options)
-    with os.fdopen(os.open(options['json-output'], os.O_WRONLY | os.O_CREAT, 0600), 'w') as fout:
+    self._json_output = options['json-output']
+    with os.fdopen(os.open(self._json_output, os.O_WRONLY | os.O_CREAT, 0600), 'w') as fout:
       fout.write(json.dumps(parameter_dict, indent=2, sort_keys=True))
 
+    def install(self):
+        return [self._json_output]
+
+    update = install
+
-- 
2.30.9