Пример #1
0
        // populate feed registry from azure table
        public void LoadFeedsFromAzure(FeedLoadOption option)
        {
            var dict     = Metadata.LoadFeedsFromAzureTableForId(this.id, option);
            var settings = GenUtils.GetSettingsFromAzureTable("settings");

            foreach (var url in dict.Keys)
            {
                try
                {
                    if (settings["eventful_feeds_enabled"] == "False" && url.StartsWith("http://eventful.com/"))
                    {
                        continue;
                    }
                    if (settings["eventbrite_feeds_enabled"] == "False" && url.Contains("ics_from_eventbrite"))
                    {
                        continue;
                    }
                    if (settings["lastfm_feeds_enabled"] == "False" && url.Contains("ics_from_lastfm_venue"))
                    {
                        continue;
                    }
                    if (url.StartsWith("http://upcoming.yahoo.com"))
                    {
                        continue;
                    }
                }
                catch (Exception e)
                {
                    GenUtils.PriorityLogMsg("exception", "CollectIcal", e.Message + e.StackTrace);
                }
                this.AddFeed(url, dict[url]);
            }
        }
Пример #2
0
 // populate feed registry from azure table
 public void LoadFeedsFromAzure(FeedLoadOption option)
 {
     var dict = Metadata.LoadFeedsFromAzureTableForId(this.id, option);
     var settings = GenUtils.GetSettingsFromAzureTable("settings");
     foreach (var url in dict.Keys)
     {
         try
         {
             if (settings["eventful_feeds_enabled"] == "False" && url.StartsWith("http://eventful.com/"))
                 continue;
             if (settings["eventbrite_feeds_enabled"] == "False" && url.Contains("ics_from_eventbrite"))
                 continue;
             if (settings["lastfm_feeds_enabled"] == "False" && url.Contains("ics_from_lastfm_venue"))
                 continue;
             if (url.StartsWith("http://upcoming.yahoo.com"))
                 continue;
         }
         catch (Exception e)
         {
             GenUtils.PriorityLogMsg("exception", "CollectIcal", e.Message + e.StackTrace);
         }
         this.AddFeed(url, dict[url]);
     }
 }
Пример #3
0
        public static Dictionary <string, string> LoadFeedsFromAzureTableForId(string id, FeedLoadOption option)
        {
            var q         = string.Format("$filter=(PartitionKey eq '{0}' and feedurl ne '' )", id);
            var qdicts    = ts.QueryAllEntitiesAsListDict("metadata", q, 0).list_dict_obj;
            var feed_dict = new Dictionary <string, string>();

            foreach (var dict in qdicts)
            {
                var is_private = dict.ContainsKey("private") && (bool)dict["private"] == true;

                var unapproved = dict.ContainsKey("approved") && (string)dict["approved"] == "no";

                if (unapproved)
                {
                    continue;
                }

                switch (option)
                {
                case FeedLoadOption.all:
                    AddSourceAndFeedUrlToDict(feed_dict, dict);
                    break;

                case FeedLoadOption.only_public:
                    if (is_private == false)
                    {
                        AddSourceAndFeedUrlToDict(feed_dict, dict);
                    }
                    break;

                case FeedLoadOption.only_private:
                    if (is_private == true)
                    {
                        AddSourceAndFeedUrlToDict(feed_dict, dict);
                    }
                    break;
                }
            }
            return(feed_dict);
        }
Пример #4
0
        public static Dictionary<string, string> LoadFeedsFromAzureTableForId(string id, FeedLoadOption option)
        {
            var q = string.Format("$filter=(PartitionKey eq '{0}' and feedurl ne '' )", id);
            var qdicts = ts.QueryAllEntitiesAsListDict("metadata", q).list_dict_obj;
            var feed_dict = new Dictionary<string, string>();
            foreach (var dict in qdicts)
            {
                var is_private = dict.ContainsKey("private") && (bool)dict["private"] == true;

                var unapproved = dict.ContainsKey("approved") && (string)dict["approved"] == "no";

                if (unapproved)
                    continue;

                switch (option)
                {
                    case FeedLoadOption.all:
                        AddSourceAndFeedUrlToDict(feed_dict, dict);
                        break;
                    case FeedLoadOption.only_public:
                        if (is_private == false)
                            AddSourceAndFeedUrlToDict(feed_dict, dict);
                        break;
                    case FeedLoadOption.only_private:
                        if (is_private == true)
                            AddSourceAndFeedUrlToDict(feed_dict, dict);
                        break;
                }

            }
            return feed_dict;
        }
Пример #5
0
 // populate feed registry from azure table (includes what is public on delicious, and also private out-of-band)
 public void LoadFeedsFromAzure(FeedLoadOption option)
 {
     var dict = Metadata.LoadFeedsFromAzureTableForId(this.id, option);
     foreach (var url in dict.Keys)
         this.AddFeed(url, dict[url]);
 }