Beispiel #1
0
        public static string GetFeedListUrl(FeedType feedType, Guid userId)
        {
            var    url = MainPageUrl;
            string p1  = null;
            string p2  = null;

            if (feedType != FeedType.All)
            {
                p1 = "type=" + feedType.ToString();
            }
            if (userId != Guid.Empty)
            {
                p2 = "uid=" + userId.ToString();
            }
            if (p1 == null && p2 == null)
            {
                return(url);
            }

            url += "?";
            if (p1 != null)
            {
                url += p1 + "&";
            }
            if (p2 != null)
            {
                url += p2 + "&";
            }
            return(url.Substring(0, url.Length - 1));
        }
Beispiel #2
0
        private IDictionary <string, string> GetAirQualityData(string htmlContentAsString, int locationId, FeedType feedType)
        {
            var doc = new HtmlDocument();

            doc.LoadHtml(htmlContentAsString);
            var nodes = doc.DocumentNode.Descendants("div")
                        .Select(d => d.InnerText.Replace("\n", "|").Replace("\t", ""));
            var values = new Dictionary <string, string>();

            values.Add("Last Update", "");
            values.Add("Location", "");
            values.Add("Agency", "");
            values.Add("Ozone", "");
            values.Add("Particle Pollution", "");
            values.Add("LocationIdentifier", locationId.ToString());
            values.Add("FeedType", feedType.ToString());
            foreach (var n in nodes)
            {
                var e = n.Replace("||", "|").Split('|');
                foreach (var i in e)
                {
                    if (!String.IsNullOrWhiteSpace(i))
                    {
                        var pair = values.FirstOrDefault(
                            kvp => i.Contains(kvp.Key) && String.IsNullOrWhiteSpace(kvp.Value));
                        if (pair.Key != default(string))
                        {
                            values[pair.Key] = RemoveLabel(i);
                        }
                    }
                }
            }
            return(values);
        }
        public ActivitiesResponse GetAllActivities(int page, int count, FilterType filter, FeedType feed, string hash, string start)
		{
			var parameters = BuildPagingParametersWithCount(page, count);
			if (filter != FilterType.All) parameters.Add("filter", filter.ToString().ToLower());
            if (feed != FeedType.AuthenticatedUser) parameters.Add("feed", feed.ToString().ToLower());
            if (!string.IsNullOrEmpty(hash)) parameters.Add("hash", hash.ToString().ToLower());
            if (!string.IsNullOrEmpty(start)) parameters.Add("start", start.ToString().ToLower());
			return _restTemplate.GetForObject<ActivitiesResponse>(BuildUrl("activity", parameters));
		}
 /// <summary>
 /// Parses the given <see cref="FeedType"/> and returns a <see cref="IList&lt;FeedDTO&gt;"/>.
 /// </summary>
 /// <returns></returns>
 public IList<FeedDTO> Parse(string url, FeedType feedType)
 {
     switch (feedType)
     {
         case FeedType.RSS:
             return ParseRss(url);
         case FeedType.RDF:
             return ParseRdf(url);
         case FeedType.Atom:
             return ParseAtom(url);
         default:
             throw new NotSupportedException(string.Format("{0} is not supported", feedType.ToString()));
     }
 }
Beispiel #5
0
 public void Apply(Member source, Target target)
 {
     new QueueEffect(_effect).Apply(source, target);
     BattleEvent.Subscribe <FeedCardResolutionStarted>(
         (msg) =>
     {
         if (_feedType.ToString().Equals(msg.CardFeedType))
         {
             _effect.Apply(source, target);
         }
         BattleEvent.Unsubscribe(this);
     },
         this);
 }
Beispiel #6
0
        /// <summary>
        /// Parses the given <see cref="FeedType"/> and returns a <see cref="IList&amp;lt;Item&amp;gt;"/>.
        /// </summary>
        /// <returns></returns>
        public IList <FeedItem> Parse(string url, FeedType feedType)
        {
            switch (feedType)
            {
            case FeedType.RSS:
                return(ParseRss(url));

            case FeedType.RDF:
                return(ParseRdf(url));

            case FeedType.Atom:
                return(ParseAtom(url));

            default:
                throw new NotSupportedException($"{feedType.ToString()} is not supported");
            }
        }
Beispiel #7
0
        /// <summary>
        /// Parses the given <see cref="FeedType"/> and returns a <see cref="AirQuality"/>.
        /// </summary>
        /// <returns></returns>
        public async Task <AirQuality> Parse(int locationId, FeedType feedType)
        {
            var rawFeed = await GetFeedFromUrl($"http://feeds.enviroflash.info/rss/realtime/{locationId}.xml");

            switch (feedType)
            {
            case FeedType.Rss:
                return(ParseRss(rawFeed, locationId));

            case FeedType.Rdf:
                return(ParseRdf(rawFeed, locationId));

            case FeedType.Atom:
                return(ParseAtom(rawFeed, locationId));

            default:
                throw new NotSupportedException($"{feedType.ToString()} is not supported");
            }
        }
Beispiel #8
0
        public ActivitiesResponse GetAllActivities(int page, int count, FilterType filter, FeedType feed, string hash, string start)
        {
            var parameters = BuildPagingParametersWithCount(page, count);

            if (filter != FilterType.All)
            {
                parameters.Add("filter", filter.ToString().ToLower());
            }
            if (feed != FeedType.AuthenticatedUser)
            {
                parameters.Add("feed", feed.ToString().ToLower());
            }
            if (!string.IsNullOrEmpty(hash))
            {
                parameters.Add("hash", hash.ToString().ToLower());
            }
            if (!string.IsNullOrEmpty(start))
            {
                parameters.Add("start", start.ToString().ToLower());
            }
            return(_restTemplate.GetForObject <ActivitiesResponse>(BuildUrl("activity", parameters)));
        }
Beispiel #9
0
        public static string GetFeedListUrl(FeedType feedType, Guid userId)
        {
            var url = MainPageUrl;
            string p1 = null;
            string p2 = null;

            if (feedType != FeedType.All) p1 = "type=" + feedType.ToString();
            if (userId != Guid.Empty) p2 = "uid=" + userId.ToString();
            if (p1 == null && p2 == null) return url;

            url += "?";
            if (p1 != null) url += p1 + "&";
            if (p2 != null) url += p2 + "&";
            return url.Substring(0, url.Length - 1);
        }
Beispiel #10
0
        /// <summary>
        /// Parses the given <see cref="FeedType"/> and returns a <see cref="IList&amp;lt;Item&amp;gt;"/>.
        /// </summary>
        /// <returns></returns>
        public IList <Item> Parse(string url, FeedType feedType)
        {
            switch (feedType)
            {
            case FeedType.Rss:
                return(ParseRss(url));

            case FeedType.Rdf:
                return(ParseRdf(url));

            case FeedType.Atom:
                return(ParseAtom(url));

            default:
                throw new NotSupportedException(string.Format("{0} is not supported", feedType.ToString()));
            }
        }
        /*
         * Function: Generate the Yammer Embed JavaScript based on settings.
         */
        private String GenerateYammerEmbedJavaScript()
        {
            StringBuilder sbReturn = new StringBuilder();


            sbReturn.Append("<script>\r\n");


            sbReturn.Append("(function() {\r\n");

            //make sure that Yammer Embed JS has been loaded
            sbReturn.Append("if (typeof yam === 'undefined' || !yam || !yam.connect || typeof yam.connect.embedFeed !== 'function') {\r\n");
            sbReturn.Append("   var script = document.createElement('script');\r\n");
            sbReturn.Append("   script.type = 'text/javascript';\r\n");
            sbReturn.Append("   script.src = 'https://c64.assets-yammer.com/assets/platform_embed.js';\r\n");
            sbReturn.Append("   script.async = false;\r\n");
            sbReturn.Append("  	script.onload = loadYammerEmbed;\r\n");                 //once script has loaded, we can then try to load yammer embed
            sbReturn.Append("   document.getElementsByTagName('head')[0].appendChild(script);\r\n");
            sbReturn.Append("}\r\n");
            sbReturn.Append("else loadYammerEmbed();\r\n");             //if yam already found, then go ahead and load


            sbReturn.Append("function loadYammerEmbed() {\r\n");

            sbReturn.Append("yam.connect.embedFeed(\r\n");
            sbReturn.Append("{\r\n");
            sbReturn.Append("   container: '" + GetContainerSelector() + "',\r\n");

            //NetworkPermalink
            if (!String.IsNullOrEmpty(NetworkPermalink))
            {
                sbReturn.Append("   network: '" + NetworkPermalink + "',\r\n");
            }

            //FeedType
            if (FeedType == yammerFeedTypes.MyFeed)
            {
                sbReturn.Append("   feedType: '',\r\n");
            }
            else if (FeedType == yammerFeedTypes.OpenGraph)
            {
                sbReturn.Append("   feedType: 'open-graph',\r\n");
            }
            else
            {
                sbReturn.Append("   feedType: '" + FeedType.ToString().ToLower() + "',\r\n");
            }

            //FeedIDs
            if (!String.IsNullOrEmpty(FeedID))
            {
                sbReturn.Append("   feedId: '" + FeedID + "',\r\n");
            }

            //configuration settings
            sbReturn.Append("   config: {\r\n");

            //ShowHeader
            sbReturn.Append("      header: " + ShowHeader.ToString().ToLower() + ",\r\n");

            //HideNetworkName
            sbReturn.Append("      hideNetworkName: " + HideNetworkName.ToString().ToLower() + ",\r\n");

            //PromptText
            if (!String.IsNullOrWhiteSpace(PromptText))
            {
                sbReturn.Append("      promptText: '" + PromptText.ToString().Replace("'", "") + "',\r\n");
            }

            //DefaultGroupId
            if (!String.IsNullOrWhiteSpace(DefaultGroupId))
            {
                sbReturn.Append("      defaultGroupId: " + DefaultGroupId + ",\r\n");
            }

            //DefaultToCanonical
            sbReturn.Append("      defaultToCanonical: " + DefaultToCanonical.ToString().ToLower() + ",\r\n");

            //ShowFooter
            sbReturn.Append("      footer: " + ShowFooter.ToString().ToLower() + ",\r\n");

            //ShowOpenGraphPreview
            if (FeedType == yammerFeedTypes.OpenGraph)
            {
                sbReturn.Append("      showOpenGraphPreview: " + ShowOpenGraphPreview.ToString().ToLower() + ",\r\n");
            }

            //UseSSO
            sbReturn.Append("      use_sso: " + UseSSO.ToString().ToLower() + "\r\n");

            sbReturn.Append("   },\r\n");


            if (FeedType == yammerFeedTypes.OpenGraph)
            {
                //objectProperties settings
                sbReturn.Append("   objectProperties: {\r\n");

                //url
                if (!String.IsNullOrWhiteSpace(OpenGraphUrl))
                {
                    sbReturn.Append("      url: '" + OpenGraphUrl.ToString().Replace("'", "") + "',\r\n");
                }

                //type
                sbReturn.Append("      type: '" + OpenGraphType + "',\r\n");

                //url
                if (!String.IsNullOrWhiteSpace(OpenGraphTitle))
                {
                    sbReturn.Append("      title: '" + OpenGraphTitle.ToString().Replace("'", "") + "',\r\n");
                }

                //url
                if (!String.IsNullOrWhiteSpace(OpenGraphImageUrl))
                {
                    sbReturn.Append("      image: '" + OpenGraphImageUrl.ToString().Replace("'", "") + "',\r\n");
                }

                sbReturn.Append("   },\r\n");
            }             //end open graph objectProperties



            sbReturn.Append("});\r\n");             // end yam.connect.embedFeed

            sbReturn.Append("};\r\n\r\n");          //end loadYammerEmbed


            sbReturn.Append("})();\r\n");
            sbReturn.Append("</script>\r\n");

            return(sbReturn.ToString());
        }
Beispiel #12
0
 public IList <Item> Parse(Uri url, FeedType feedType)
 {
     return(feedType switch
     {
         FeedType.RSS => ParseRss(url),
         FeedType.RDF => ParseRdf(url),
         FeedType.Atom => ParseAtom(url),
         _ => throw new NotSupportedException(string.Format(CultureInfo.InvariantCulture, "{0} is not supported", feedType.ToString())),
     });
Beispiel #13
0
        public IEnumerable <Item> ParseItems(string url, FeedType feedType)
        {
            switch (feedType)
            {
            case FeedType.RSS:
                return(ParseRssItems(url));

            case FeedType.Atom:
                return(ParseAtomItems(url));

            default:
                throw new NotSupportedException(string.Format("{0} is not supported", feedType.ToString()));
            }
        }
Beispiel #14
0
        /// <summary>
        /// Parses the given <see cref="FeedType"/> and returns a <see cref="IList&amp;lt;Item&amp;gt;"/>.
        /// </summary>
        /// <returns></returns>
        public async Task <IList <Item> > Parse(IResourceReader resourceReader, FeedType feedType)
        {
            switch (feedType)
            {
            case FeedType.RSS:
                return(await ParseRss(resourceReader));

            case FeedType.RDF:
                return(await ParseRdf(resourceReader));

            case FeedType.Atom:
                return(await ParseAtom(resourceReader));

            default:
                throw new NotSupportedException(string.Format("{0} is not supported", feedType.ToString()));
            }
        }
Beispiel #15
0
 public void Apply(Member source, Target target)
 {
     _origin.Apply(source, target);
     BattleEvent.Publish(new FeedCardResolutionStarted(_type.ToString()));
 }
Beispiel #16
0
        public void FeedPreview(FeedPreviewCallback callback, string url)
        {
            try
            {
                httpGet(url, "", (IAsyncResult asynchronousResult) =>
                {
                    try
                    {
                        HttpWebRequest sidrequest = (HttpWebRequest)asynchronousResult.AsyncState;
                        // End the operation
                        HttpWebResponse response   = (HttpWebResponse)sidrequest.EndGetResponse(asynchronousResult);
                        Stream streamResponse      = response.GetResponseStream();
                        StreamReader streamRead    = new StreamReader(streamResponse);
                        string subscriptionContent = streamRead.ReadToEnd();
                        XDocument doc     = XDocument.Parse(subscriptionContent);
                        FeedType feedType = FeedType.RSS;
                        if (doc.Root.ToString().StartsWith("<feed xmlns") || doc.Root.ToString().StartsWith("2005/Atom\">"))
                        {
                            feedType = FeedType.Atom;
                        }
                        List <Article> articles;
                        string title       = "";
                        string description = "";
                        switch (feedType)
                        {
                        case FeedType.RSS:
                            articles = ParseRss(doc, out title, out description);
                            break;

                        case FeedType.RDF:
                            articles = ParseRdf(doc, out title, out description);
                            break;

                        case FeedType.Atom:
                            articles = ParseAtom(doc, out title, out description);
                            break;

                        default:
                            throw new NotSupportedException(string.Format("{0} is not supported", feedType.ToString()));
                        }
                        FDFeedItem feed  = new FDFeedItem();
                        feed.Title       = title;
                        feed.Description = description;
                        feed.XmlUrl      = url;

                        callback(new FeedPreviewEventArgs(articles, feed)
                        {
                            Failed = false,
                            Error  = ""
                        });
                    }
                    catch
                    {
                        callback(new FeedPreviewEventArgs(new List <Article>(), new FDFeedItem())
                        {
                            Failed = true,
                            Error  = "Failed to get articles"
                        });
                    }
                });
            }
            catch
            {
                callback(new FeedPreviewEventArgs(new List <Article>(), new FDFeedItem())
                {
                    Failed = true,
                    Error  = "Failed"
                });
            }
        }