/// <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; }
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(); }
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"); }
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); }
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); }
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); }