コード例 #1
0
        public int AddFilter(Filter filter)
        {
            var newFilter = SendRequest(
                $"{_uTorrentPath}gui/?token={_token}&action=filter-update&filter-id=-1&name={HttpUtility.UrlEncode(filter.Name)}&filter={filter.FilterCriteria}&episode-filter=0&smart-ep-filter=1&quality=2048&feed-id={filter.FeedId}");
            var filterResponse = JsonConvert.DeserializeObject<AddFiltereResponse>(newFilter);

            return filterResponse.filter_ident == null ? 0 : int.Parse(filterResponse.filter_ident);
        }
コード例 #2
0
        public int AddFilter(string feedId, string filterName, string provider)
        {
            int safeFeedId;

            if (!int.TryParse(feedId, out safeFeedId))
            {
                return 0;
            }

            var torrent =
                _torrent.FirstOrDefault(
                    t => t.GetType().FullName.IndexOf(provider, StringComparison.CurrentCultureIgnoreCase) != -1);

            if (torrent == null) throw new EndpointNotFoundException($"Provider {provider} not found.");

            var filter = new Filter
            {
                FeedId = safeFeedId,
                FilterCriteria = "*",
                SmartEpisodeFilter = true,
                Quality = FilterQuality._720P,
                Name = filterName
            };
            return torrent.AddFilter(filter);
        }