Exemplo n.º 1
0
        public static bool qBitTorrentRemoveSource(string source)
        {
            qBittorrentFilters items   = null;
            qBittorrentSources sources = null;

            using (StreamReader r = new StreamReader(Extensions.config_values.qBittorrent_rss_filters))
            {
                string json = r.ReadToEnd();
                items = JsonConvert.DeserializeObject <qBittorrentFilters>(json);
            }

            using (StreamReader r = new StreamReader(Extensions.config_values.qBittorrent_rss_sources))
            {
                string json = r.ReadToEnd();
                sources = JsonConvert.DeserializeObject <qBittorrentSources>(json);
            }

            if (items != null && sources != null)
            {
                if (sources.Values.Where(v => v.url == source).Count() > 0)
                {
                    foreach (KeyValuePair <string, FilterConfig> filter in items)
                    {
                        filter.Value.affectedFeeds.Remove(source);
                    }
                    File.WriteAllText(Extensions.config_values.qBittorrent_rss_filters, JsonConvert.SerializeObject(items));

                    foreach (KeyValuePair <string, SourceConfig> sourceItem in sources)
                    {
                        if (sourceItem.Value.url == source)
                        {
                            sources.Remove(sourceItem.Key);
                        }
                    }
                    File.WriteAllText(Extensions.config_values.qBittorrent_rss_sources, JsonConvert.SerializeObject(sources));
                }
                return(true);
            }

            return(false);
        }
Exemplo n.º 2
0
        public static bool qBitTorrentAddFilter(string[] filters)
        {
            qBittorrentFilters items   = null;
            qBittorrentSources sources = null;

            using (StreamReader r = new StreamReader(Extensions.config_values.qBittorrent_rss_filters))
            {
                string json = r.ReadToEnd();
                items = JsonConvert.DeserializeObject <qBittorrentFilters>(json);
            }

            using (StreamReader r = new StreamReader(Extensions.config_values.qBittorrent_rss_sources))
            {
                string json = r.ReadToEnd();
                sources = JsonConvert.DeserializeObject <qBittorrentSources>(json);
            }

            if (items != null && sources != null)
            {
                foreach (string unparsed in filters)
                {
                    string input = unparsed.TrimStart(' ').ToLower();
                    if (!items.ContainsKey(input))
                    {
                        items.Add(input, new FilterConfig()
                        {
                            affectedFeeds = sources.Count == 0 ? new List <string>() : sources.Select(s => s.Value.url).ToList(),
                            mustContain   = input,
                            savePath      = Extensions.config_values.qBittorrent_save_path + input.removeFromString(commonFilters)
                        });
                    }
                }
                File.WriteAllText(Extensions.config_values.qBittorrent_rss_filters, JsonConvert.SerializeObject(items));
                return(true);
            }

            return(false);
        }