Beispiel #1
0
        private HeliosTemplate LoadTemplate(string path, bool isUserTemplate)
        {
            HeliosTemplate template = new HeliosTemplate(isUserTemplate);

            XmlReaderSettings settings = new XmlReaderSettings();

            settings.IgnoreComments   = true;
            settings.IgnoreWhitespace = true;
            settings.CloseInput       = true;

            XmlReader reader = XmlReader.Create(path, settings);

            template.ReadXml(reader);
            reader.Close();

            return(template);
        }
Beispiel #2
0
        private HeliosTemplate LoadTemplate(string path, bool isUserTemplate)
        {
            HeliosTemplate template = new HeliosTemplate(isUserTemplate);

            XmlReaderSettings settings = new XmlReaderSettings();

            settings.IgnoreComments   = true;
            settings.IgnoreWhitespace = true;
            settings.CloseInput       = true;
            ConfigManager.LogManager.LogDebug("TemplateManager Reading Template XML: " + path);
            XmlReader reader = XmlReader.Create(path, settings);

            template.ReadXml(reader);
            reader.Close();
            ConfigManager.LogManager.LogDebug("TemplateManager XML Reader Closed: " + path);

            return(template);
        }
Beispiel #3
0
        private void LoadTemplateDirectory(IList <HeliosTemplate> templates, string directory, bool userTemplates)
        {
            foreach (string templateFile in Directory.GetFiles(directory, "*.htpl"))
            {
                HeliosTemplate template = LoadTemplate(templateFile, userTemplates);

                // prevent crash on duplicate key
                if (templates is HeliosTemplateCollection indexed)
                {
                    string key = indexed.GetKeyForItem(template);
                    if (indexed.ContainsKey(key))
                    {
                        Logger.Error($"ignored duplicate template '{Util.Anonymizer.Anonymize(templateFile)}' already loaded from another location");
                        continue;
                    }
                }
                templates.Add(template);
            }

            foreach (string subDirectory in Directory.GetDirectories(directory))
            {
                LoadTemplateDirectory(templates, subDirectory, userTemplates);
            }
        }
Beispiel #4
0
 private string GetTemplatePath(HeliosTemplate template)
 {
     return(Path.Combine(_userTemplateDirectory, template.Category, template.Name + ".htpl"));
 }
Beispiel #5
0
        private HeliosTemplate LoadTemplate(string path, bool isUserTemplate)
        {
            HeliosTemplate template = new HeliosTemplate(isUserTemplate);

            XmlReaderSettings settings = new XmlReaderSettings();
            settings.IgnoreComments = true;
            settings.IgnoreWhitespace = true;
            settings.CloseInput = true;

            XmlReader reader = XmlReader.Create(path, settings);
            template.ReadXml(reader);
            reader.Close();

            return template;
        }
Beispiel #6
0
 private string GetTemplatePath(HeliosTemplate template)
 {
     return Path.Combine(_userTemplateDirectory, template.Category, template.Name + ".htpl");
 }