diff options
Diffstat (limited to 'cpp/managementgen/generate.py')
-rwxr-xr-x | cpp/managementgen/generate.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/cpp/managementgen/generate.py b/cpp/managementgen/generate.py index 4c042bd3f6..e1c01de9b0 100755 --- a/cpp/managementgen/generate.py +++ b/cpp/managementgen/generate.py @@ -187,7 +187,15 @@ class Generator: pass os.rename (tempFile, target) - print "Generated:", target + print "Generated:", target + + def targetPackageFile (self, schema, templateFile): + dot = templateFile.find(".") + if dot == -1: + raise ValueError ("Invalid template file name %s" % templateFile) + extension = templateFile[dot:len (templateFile)] + path = self.dest + "Package" + schema.getPackageName().capitalize() + extension + return path def targetClassFile (self, _class, templateFile): dot = templateFile.find(".") @@ -244,6 +252,14 @@ class Generator: stream = template.expand (method) self.writeIfChanged (stream, target, force) + def makePackageFile (self, templateFile, schema, force=False): + """ Generate a package-specific file """ + template = Template (self.input + templateFile, self) + self.templateFiles.append (templateFile) + target = self.targetPackageFile (schema, templateFile) + stream = template.expand (schema) + self.writeIfChanged (stream, target, force) + def makeSingleFile (self, templateFile, target, force=False): """ Generate a single expanded template """ makefile = Makefile (self.filelists, self.templateFiles) |