Starting point
Change-Id: I86dab2674688f6d818ce2fb0861ea893d6841df3
diff --git a/src/tosca/generator.py b/src/tosca/generator.py
new file mode 100644
index 0000000..9e02011
--- /dev/null
+++ b/src/tosca/generator.py
@@ -0,0 +1,36 @@
+import os
+from default import TOSCA_DEFS_DIR
+from xosgenx.generator import XOSGenerator
+from xosapi.xos_grpc_client import Empty
+
+class Args:
+ pass
+
+current_dir = os.path.dirname(os.path.realpath(__file__))
+
+class TOSCA_Generator:
+
+ def _clean(self, dir=TOSCA_DEFS_DIR):
+ filesToRemove = [f for f in os.listdir(dir)]
+ for f in filesToRemove:
+ if not f.startswith('.'):
+ os.remove(dir + '/' + f)
+
+ def generate(self, client):
+ print "[XOS-TOSCA] Generating TOSCA"
+ self._clean()
+ xproto = client.utility.GetXproto(Empty())
+
+ try:
+ args = Args()
+ args.output = TOSCA_DEFS_DIR
+ args.inputs = str(xproto.xproto)
+ args.target = os.path.join(current_dir, 'xtarget/tosca.xtarget')
+ args.write_to_file = 'model'
+ args.dest_extension = 'yaml'
+ XOSGenerator.generate(args)
+ print "[XOS-TOSCA] Recipes generated in %s" % args.output
+ except Exception as e:
+ print "[XOS-TOSCA] Failed to generate TOSCA"
+ print e
+