Exemplo n.º 1
0
        /// <inheritdoc />
        public void Export(ISearchResultContainer searchResultContainer, string wildcardPattern)
        {
            var results = new List <IDetailedSearchResult>();

            foreach (var result in searchResultContainer)
            {
                var detailedResult = Factory.GetDetailedSearchResult(result.FileName);
                var findings       = new List <IFindingInFile>();

                var lines = File.ReadAllLines(result.FileName);

                var resolvedPattern = Helper.WildcardResolver(wildcardPattern);

                for (int i = 0; i < lines.Length; i++)
                {
                    var line = lines[i];
                    if (Regex.IsMatch(line, resolvedPattern))
                    {
                        var match = Regex.Match(line, resolvedPattern);

                        var matchedValue = match.Value.Trim();
                        var position     = line.IndexOf(matchedValue);

                        findings.Add(Factory.GetFindingInFile(i, position, matchedValue.Length));
                    }
                }

                detailedResult.Findings = findings.ToArray();
                results.Add(detailedResult);
            }

            DetailedResult = results;
        }
Exemplo n.º 2
0
        public static void Main(string[] args)
        {
            UserConfig userConfig = LoadCredentialsFromFile();

            NcoreClient nCore = GetAuthenticatedClientFor(userConfig)
                                .ConfigureAwait(false).GetAwaiter().GetResult();

            Thread.Sleep(TimeSpan.FromSeconds(2));

            ISearchResultContainer resultContainer = nCore.Search.List()
                                                     .GetAwaiter().GetResult();

            Thread.Sleep(TimeSpan.FromSeconds(2));

            ISearchResultContainer innaResults = nCore.Search.For("Inna")
                                                 .ConfigureAwait(false).GetAwaiter().GetResult();

            IEnumerable <HitAndRunTorrent> hitAndRunTorrents = nCore.HitAndRuns.List()
                                                               .ConfigureAwait(false).GetAwaiter().GetResult();

            Torrent torrent = nCore.Torrent.Get(1683491)
                              .ConfigureAwait(false).GetAwaiter().GetResult();

            FileStream destination = new FileStream($"{torrent.UploadName}.torrent", FileMode.CreateNew);

            torrent.DownloadAsFileTo(destination)
            .ConfigureAwait(false).GetAwaiter().GetResult();

            Console.Read();
        }
Exemplo n.º 3
0
        public async Task ListWithoutResultsPopulatesPrimitiveProperties()
        {
            SetServerResponse("without-results");

            ISearchResultContainer searchResult = await endPoint.List().ConfigureAwait(false);

            Assert.IsFalse(searchResult.HasPreviousPage, "HasPreviousPage");
            Assert.IsFalse(searchResult.HasNextPage, "HasNextPage");
            Assert.AreEqual(1, searchResult.CurrentPage, "CurrentPage");
        }
Exemplo n.º 4
0
        public async Task ListPopulatesLastResultCorrectly()
        {
            SetServerResponse("results-with-multiple-pages");

            ISearchResultContainer searchResult = await endPoint.List();

            ISearchResultTorrent lastTorrent = searchResult.Results.Last();

            Assert.AreEqual(3_012_427, lastTorrent.ID);
            Assert.AreEqual("Alarcos.enekes.S01E01.WEB-DL.H264.Hun-TheMilkyWay", lastTorrent.Name);
            Assert.AreEqual(new DateTime(2020, 4, 13, 12, 25, 27, DateTimeKind.Local), lastTorrent.UploadedAt);
        }
Exemplo n.º 5
0
        public async Task ListPopulatesFirstResultCorrectly()
        {
            SetServerResponse("results-with-multiple-pages");

            ISearchResultContainer searchResult = await endPoint.List();

            ISearchResultTorrent firstTorrent = searchResult.Results.First();

            Assert.AreEqual(3_012_464, firstTorrent.ID);
            Assert.AreEqual("Max.Payne.2008.UNRATED.BD25.AVC.DTSHD.HUN-TRiNiTY", firstTorrent.Name);
            Assert.AreEqual(new DateTime(2020, 4, 13, 13, 8, 29, DateTimeKind.Local), firstTorrent.UploadedAt);
        }
Exemplo n.º 6
0
 public void Export(ISearchResultContainer searchResultContainer, string searchedWord)
 {
     foreach (var result in searchResultContainer)
     {
         m_ExportWriter.WriteLine(result.FileName);
         var lines           = File.ReadAllLines(result.FileName);
         var searchWordLower = searchedWord.ToLowerInvariant();
         for (int i = 0; i < lines.Length; i++)
         {
             if (lines[i].ToLowerInvariant().Contains(searchWordLower))
             {
                 m_ExportWriter.WriteLine($"{i + 1};{lines[i]}");
             }
         }
         m_ExportWriter.Flush();
     }
 }
        public void Export(ISearchResultContainer searchResultContainer, string wildcardPattern)
        {
            foreach (var result in searchResultContainer)
            {
                m_ExportWriter.WriteLine(result.FileName);
                var lines = File.ReadAllLines(result.FileName);

                var resolvedPattern = Helper.WildcardResolver(wildcardPattern);

                for (int i = 0; i < lines.Length; i++)
                {
                    if (Regex.IsMatch(lines[i], resolvedPattern))
                    {
                        m_ExportWriter.WriteLine($"{i + 1};{lines[i]}");
                    }
                }
                m_ExportWriter.Flush();
            }
        }
 public void Export(ISearchResultContainer searchResultContainer, string searchedWord)
 {
     _exporter.Export(searchResultContainer, searchedWord);
 }