public virtual void AssignMeta(SitemapItem url, UrlMetaEntry defaultEntry, UrlMetaEntry overrideEntry) { //url.priority = LmUtil.EmptyFallback(url.Asset.Raw["xmlsm_priority"], url.Asset.Raw[SitemapConstants.FieldNames.Sitemap_Priority], ""); url.priority = url.Asset.Raw[SitemapConstants.FieldNames.Sitemap_Priority]; if (string.IsNullOrEmpty(url.priority)) { if (defaultEntry != null && defaultEntry.Meta != null) { url.priority = defaultEntry.Meta.priority.ToString("0.0"); } } if (overrideEntry != null && overrideEntry.Meta != null) { url.priority = overrideEntry.Meta.priority.ToString("0.0"); } //url.changefreq = LmUtil.EmptyFallback(url.Asset.Raw["xmlsm_changefreq"], url.Asset.Raw[SitemapConstants.FieldNames.Sitemap_ChangeFrequency], ""); url.changefreq = url.Asset.Raw[SitemapConstants.FieldNames.Sitemap_ChangeFreq]; if (string.IsNullOrEmpty(url.changefreq)) { if (defaultEntry != null && defaultEntry.Meta != null) { url.changefreq = defaultEntry.Meta.changefreq; } } if (overrideEntry != null && overrideEntry.Meta != null) { url.changefreq = overrideEntry.Meta.changefreq ?? "unspecified"; } }
internal IEnumerable <UrlMetaEntry> _ParseOverrides(IEnumerable <string> input) { var parsedOverrides = new List <UrlMetaEntry>(); Regex r = new Regex(@"(.*)\s=>\s(.*)"); foreach (var line in input) { var m = r.Match(line); if (m.Success) { var overrideEntry = new UrlMetaEntry() { PathSpec = m.Groups[1].Value, PathSpecRegex = SitemapUtils.PathspecToRegex(m.Groups[1].Value), Meta = (CPContrib.SiteMap.Serialization.UrlMeta)Util.DeserializeDataContractJson(m.Groups[2].Value, typeof(CPContrib.SiteMap.Serialization.UrlMeta)) }; parsedOverrides.Add(overrideEntry); } } return(parsedOverrides); }