Exemplo n.º 1
0
        public async Task <SimpleFeed> SetFeed(
            bool saveToFileIfPossible             = true,
            Action <SFFeedSettings> alterSettings = null)
        {
            if (_testFeedPath.NotNulle())
            {
                _feedContent = await File.ReadAllTextAsync(_testFeedPath);
            }
            else if (_testFeedUrl.NotNulle())
            {
                _feedContent = await XHttp.GetStringAsync(_testFeedUrl);

                if (saveToFileIfPossible && _feedContent.NotNulle() && _testFeedPath.NotNulle())
                {
                    await File.WriteAllTextAsync(_testFeedPath, _feedContent);
                }
            }

            Assert.True(_feedContent.NotNulle());

            var settings = new SFFeedSettings()
            {
                KeepXmlDocument             = true,
                ConvertCategoryUrlsToLinks  = true,
                ConvertContentUrlsToLinks   = true,
                AlterUTCDatesToThisTimezone = TimeZoneInfo.Local,
                //GetImageUrlsFromContentImgTag = true,
            };

            alterSettings?.Invoke(settings);

            _feed = new SimpleFeed {
                Settings = settings
            };

            return(_feed);
        }