void Start()
 {
     this.player     = GameObject.Find("OrcaPrefab");
     scoreController = FindObjectOfType <ScoreController>();
     Hpcontroller    = FindObjectOfType <HpController>();
     feedGenerator   = FindObjectOfType <FeedGenerator>();
 }
        public async Task Atom10_EmptyCollection()
        {
            var itemCollection = new List <FeedEntry>();

            var rw = new FeedGenerator
            {
                HostUrl            = "https://996.icu",
                HeadTitle          = "996 ICU",
                HeadDescription    = "Work 996 and get into ICU",
                Copyright          = "(c) 2020 996.icu",
                Generator          = "Fubao Generator",
                FeedItemCollection = itemCollection,
                TrackBackUrl       = "https://996.icu/trackback",
                MaxContentLength   = 996,
                GeneratorVersion   = "9.9.6"
            };

            using var ms = new MemoryStream();
            await rw.WriteAtomStreamAsync(ms);

            await ms.FlushAsync();

            var bytes      = ms.ToArray();
            var xmlContent = Encoding.UTF8.GetString(bytes);

            Assert.IsNotNull(xmlContent);
            Assert.IsTrue(xmlContent.StartsWith(@"<?xml version=""1.0"" encoding=""utf-8""?><feed xmlns=""http://www.w3.org/2005/Atom""><title>996 ICU</title><subtitle>Work 996 and get into ICU</subtitle><rights>(c) 2020 996.icu</rights>"));
        }
        public async Task Rss20_HasCollection()
        {
            var rw = new FeedGenerator
            {
                HostUrl            = "https://996.icu",
                HeadTitle          = "996 ICU",
                HeadDescription    = "Work 996 and get into ICU",
                Copyright          = "(c) 2020 996.icu",
                Generator          = "Fubao Generator",
                FeedItemCollection = GetFeedItems(),
                TrackBackUrl       = "https://996.icu/trackback",
                MaxContentLength   = 996,
                GeneratorVersion   = "9.9.6"
            };

            using var ms = new MemoryStream();
            await rw.WriteRssStreamAsync(ms);

            await ms.FlushAsync();

            var bytes      = ms.ToArray();
            var xmlContent = Encoding.UTF8.GetString(bytes);

            Assert.IsNotNull(xmlContent);
            Assert.IsTrue(xmlContent.StartsWith(@"<?xml version=""1.0"" encoding=""utf-8""?><rss version=""2.0""><channel><title>996 ICU</title><description>Work 996 and get into ICU</description><link>https://996.icu/trackback</link>"));
        }
Exemple #4
0
        public override void Execute()
        {
            FeedGenerator generator = null;

            //if(string.IsNullOrEmpty(reqParams.filter_type))
            //{
            //    //in case no explicit data for feed generator is given
            //    var viewer = SourcesMap.Instance.GetSource(userId, "user");
            //    reqParams.filter_type = viewer.LastFeedFilterType;
            //    Logger.Instance.Debug($"taking filter type:{reqParams.filter_type} from viewer memory");
            //}

            if (reqParams.action_id != 0)
            {
                generator = new SingleActivityGenerator(reqParams);
            }
            else if (reqParams.subject_id != 0)
            {
                generator = new SingleSourceFeedGenerator(reqParams);
            }
            else if (reqParams.filter_type == "membership")
            {
                generator = new  FriendsFeedGenerator(reqParams);
            }
            else if (reqParams.filter_type == "sitegroup")
            {
                generator = new GroupsFeedGenerator(reqParams);
            }
            else if (reqParams.filter_type == "sitepage")
            {
                generator = new PagesFeedGenerator(reqParams);
            }
            else if (reqParams.filter_type == "user_saved")
            {
                generator = new SavedFeedGenerator(reqParams);
            }
            else if (reqParams.filter_type == "hidden_post")
            {
                generator = new HiddenFeedGenerator(reqParams);
            }
            else if (reqParams.filter_type.ToLower() == "all")
            {
                generator = new MainFeedGenerator(reqParams);
            }
            else if (!string.IsNullOrEmpty(reqParams.filter_type))
            {
                //code for different filters
                reqParams.action_id = 11432;//oops
                generator           = new SingleActivityGenerator(reqParams);
            }

            Response = generator.GetFeedJson();

            File.WriteAllText("kfcfeed.txt", Response);
        }
        public void HasAPubDateOnTheItem()
        {
            var rss = FeedGenerator.GenerateAsString(feed);

            _output.WriteLine(rss);

            var doc  = XDocument.Parse(rss);
            var name = doc.XPathSelectElements("/rss/channel/item")
                       .First()
                       .Element("pubDate").Value;

            Check.That(name).IsEqualTo(feed.Episodes.First().AddedAt.ToString("r"));
        }
        public void HasTheEpisodeName()
        {
            var rss = FeedGenerator.GenerateAsString(feed);

            _output.WriteLine(rss);

            var doc  = XDocument.Parse(rss);
            var name = doc.XPathSelectElements("/rss/channel/item")
                       .First()
                       .Element("title").Value;

            Check.That(name).IsEqualTo(feed.Episodes.First().Title);
        }
        public IActionResult Index([FromServices] Options options)
        {
            var workingDirName = HashUtility.ComputeFileMd5Hash(options.ImageFilePath);
            var workingPath    = Path.Combine(_env.WebRootPath, workingDirName);
            var coverPath      = Path.Combine(workingPath, "cover.jpg");
            var serverPath     = $"{Request.Scheme}://{Request.Host.Value}/{workingDirName}";
            var rss            = new FeedGenerator(workingPath, coverPath, serverPath).Generate();

            return(new ContentResult
            {
                ContentType = "application/xml",
                Content = SerializeRss(rss),
                StatusCode = 200
            });
        }
    public GetAtomStringQueryHandler(IBlogConfig blogConfig, ISyndicationDataSource sdds, IHttpContextAccessor httpContextAccessor)
    {
        _sdds = sdds;

        var acc     = httpContextAccessor;
        var baseUrl = $"{acc.HttpContext.Request.Scheme}://{acc.HttpContext.Request.Host}";

        _feedGenerator = new(
            baseUrl,
            blogConfig.FeedSettings.RssTitle,
            blogConfig.GeneralSettings.Description,
            blogConfig.FeedSettings.RssCopyright,
            $"Moonglade v{Helper.AppVersion}",
            baseUrl);
    }
        // GET: Feed
        public async Task <ActionResult> GetFeed()
        {
            var podcasts = await _context.Podcasts.OrderByDescending(p => p.AddedAt)
                           .Take(30).ToListAsync();

            var feed = new PodcastFeed()
            {
                Title       = "Matt Misc Podcasts",
                Description = "Collection of one-off podcasts",
                Episodes    = podcasts
            };

            var memoryStream = new MemoryStream();

            FeedGenerator.Generate(memoryStream, feed);
            memoryStream.Position = 0;
            return(new FileStreamResult(memoryStream, "application/rss+xml"));
        }
Exemple #10
0
        public async Task <byte[]> GetRssStreamDataAsync(string categoryName = null)
        {
            IReadOnlyList <FeedEntry> itemCollection = null;

            if (!string.IsNullOrWhiteSpace(categoryName))
            {
                var cat = await _catRepo.GetAsync(c => c.RouteName == categoryName);

                if (cat is null)
                {
                    throw new InvalidDataException($"'{categoryName}' is not found.");
                }

                itemCollection = await GetFeedEntriesAsync(cat.Id);
            }
            else
            {
                itemCollection = await GetFeedEntriesAsync();
            }

            var rw = new FeedGenerator
            {
                HostUrl            = _baseUrl,
                HeadTitle          = _blogConfig.FeedSettings.RssTitle,
                HeadDescription    = _blogConfig.FeedSettings.RssDescription,
                Copyright          = _blogConfig.FeedSettings.RssCopyright,
                Generator          = $"Moonglade v{Utils.AppVersion}",
                FeedItemCollection = itemCollection,
                TrackBackUrl       = _baseUrl,
                MaxContentLength   = 0
            };

            using var ms = new MemoryStream();
            await rw.WriteRssStreamAsync(ms);

            await ms.FlushAsync();

            return(ms.ToArray());
        }
Exemple #11
0
        public async Task <byte[]> GetAtomStreamData()
        {
            var itemCollection = await GetFeedEntriesAsync();

            var rw = new FeedGenerator
            {
                HostUrl            = _baseUrl,
                HeadTitle          = _blogConfig.FeedSettings.RssTitle,
                HeadDescription    = _blogConfig.FeedSettings.RssDescription,
                Copyright          = _blogConfig.FeedSettings.RssCopyright,
                Generator          = $"Moonglade v{Utils.AppVersion}",
                FeedItemCollection = itemCollection,
                TrackBackUrl       = _baseUrl,
                MaxContentLength   = 0
            };

            using var ms = new MemoryStream();
            await rw.WriteAtomStreamAsync(ms);

            await ms.FlushAsync();

            return(ms.ToArray());
        }
        public void ProperNesting()
        {
            feed.Episodes = new List <Podcast>()
            {
                new Podcast()
                {
                    Title = "Episode 1", Description = "Episode 1 Description", DownloadUrl = "http://example.com/test.mp3"
                },
                new Podcast()
                {
                    Title = "Episode 2", Description = "Episode 2 Description", DownloadUrl = "http://example.com/test2.mp3"
                }
            };

            var rss = FeedGenerator.GenerateAsString(feed);

            _output.WriteLine(rss);

            var doc    = XDocument.Parse(rss);
            var titles = doc.XPathSelectElements("/rss/channel/item").Select(e => e.Element("title").Value);

            Check.That(titles).ContainsExactly("Episode 1", "Episode 2");
        }
Exemple #13
0
 public FeedController(FeedGenerator feedGenerator)
 {
     this.feedGenerator = feedGenerator;
 }
        public void GeneratesSomething()
        {
            var rss = FeedGenerator.GenerateAsString(feed);

            Check.That(rss).StartsWith("<?xml");
        }