Example #1
0
        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";
            }
        }
Example #2
0
        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);
        }