def CreateTemplate(self, templateDescription):
     self.ValidateArgs()
     # Validating Templates
     try:
         if self.OpenTemplate() is not None:
             raise err.Conflict(
                 "A Template with the name '{0}' already exists !".format(
                     self.templateName))
             return None
     except err.Conflict as ex:
         if "Unable to find a Project" in str(ex): return None
         if "Unable to find a Schema" in str(ex): return None
         if "already exists" in str(ex):
             raise err.Conflict(
                 "A Template with the name '{0}' already exists !".format(
                     self.templateName))
             return None
     # Creating Template
     try:
         jsonContent = js.Load(fl.Read(self.schemaMetaData))
         jsonContent["Templates"].append(self.templateName)
         fl.Write(self.schemaMetaData, js.Dump(jsonContent), True)
         fl.Write(self.templateMetaData, "", True)
         return "Template '{0}' created successfully !".format(
             self.templateName)
     except WindowsError:
         raise err.Conflict(
             "There are errors in the metadata file. Synchronize the data to fix them !"
         )
     except OSError:
         raise err.Conflict(
             "There are errors in the metadata file. Synchronize the data to fix them !"
         )
     if os.path.exists(self.templateMetaData):
         os.remove(self.templateMetaData)
     return None