private BaseSearchResult[] ConvertDataResults(SauceNaoDataResult[] results) { var rg = new List <BaseSearchResult>(); foreach (var sn in results) { if (sn.Urls != null) { string?url = sn.Urls.FirstOrDefault(u => u != null) !; string?siteName = sn.Index != 0 ? sn.Index.ToString() : null; // var x = new BasicSearchResult(url, sn.Similarity, // sn.WebsiteTitle, sn.Creator, sn.Material, sn.Character, siteName); var x = new BaseSearchResult() { Url = url, Similarity = sn.Similarity, Description = sn.WebsiteTitle, Artist = sn.Creator, Source = sn.Material, Characters = sn.Character, Site = siteName }; x.Filter = x.Similarity < FilterThreshold; rg.Add(x); } } return(rg.ToArray()); }
public static IEnumerable <BaseSearchResult> ParseSearchResults(string input, string query) { List <BaseSearchResult> results = new List <BaseSearchResult>(); if (string.IsNullOrEmpty(input)) { return(results); } // Copyright Shubham Sharma Regex regex = new Regex(@"(?x)\<li[^\>]+?\>.*?\<\/li\>", RegexOptions.Singleline); MatchCollection matchCollection = regex.Matches(input); foreach (Match match in matchCollection) { // Copyright Shubham Sharma Match header = Regex.Match(match.Value, @"\<h1\s+itemprop=""headline"".*?\>.*?\<a[^\>]+\>(?<headline>.*?)\<\/a\>"); BaseSearchResult result = new BaseSearchResult(); result.Title = header.Groups["headline"].Value; result.Source = "BBC"; result.Domains = DomainParser.Parse(match.Value, "BBC", query); results.Add(result); } return(results); }
public BaseSearchResult <T> FinAllPaging(SearchModel search, Expression <Func <T, bool> > expression, Expression <Func <T, object> > orderBy) { var result = new BaseSearchResult <T>(); var list = new List <T>(); if (!search.SortDesc.HasValue) { list = _examDBContext.Set <T>().Where(expression).ToList(); } else { if (search.SortDesc.Value) { list = _examDBContext.Set <T>().Where(expression).OrderByDescending(orderBy).ToList(); } else { list = _examDBContext.Set <T>().Where(expression).OrderBy(orderBy).ToList(); } } result.Records = list.Skip(search.PageSize * (search.PageIndex - 1)).Take(search.PageSize).ToList(); result.TotalRecord = list.Count(); result.PageIndex = search.PageIndex; result.PageSize = search.PageSize; result.PageCount = result.TotalRecord / result.PageSize + (result.TotalRecord % result.PageSize > 0 ? 1 : 0); return(result); }
public BaseSearchResult <TestThu> SearchTest(SearchModel <TestThu> search) { var start = new BaseSearchResult <TestThu>(); var result = _testRepository.FindAllPaging(search, c => c.Id > 2, x => x.Id); return(result); }
public BaseSearchResult <T> FindAllPaging(SearchModel <T> searchModel, Expression <Func <T, bool> > expression) { var result = new BaseSearchResult <T>(); var list = _appDbContext.Set <T>().Where(expression).ToList(); result.Records = list.Skip(searchModel.PageSize * (searchModel.PageIndex - 1)).Take(searchModel.PageSize).ToList(); result.TotalRecord = list.Count(); result.PageIndex = searchModel.PageIndex; result.PageSize = searchModel.PageSize; result.PageCount = result.TotalRecord / result.PageSize + (result.TotalRecord % result.PageSize > 0 ? 1 : 0); return(result); }
private Activity createReply(IBotContext context, BaseSearchResult result) { var reply = context.Request.CreateReply(); if (result.GetType() == typeof(SpotsResult)) { reply.Attachments = result.Attachments; } else if (result.GetType() == typeof(PlansResult)) { // TODO: } return(reply); }
private static List <BaseSearchResult> GetImages(HtmlDocument doc) { const string TAGS_ITEM_XP = "//a[contains(@class, 'Tags-Item')]"; const string CBIR_ITEM = "CbirItem"; var tagsItem = doc.DocumentNode.SelectNodes(TAGS_ITEM_XP); var images = new List <BaseSearchResult>(); if (tagsItem.Count == 0) { return(images); } var sizeTags = tagsItem.Where(sx => !sx.ParentNode.ParentNode.Attributes["class"].Value.Contains(CBIR_ITEM)); foreach (var siz in sizeTags) { string?link = siz.Attributes["href"].Value; string?resText = siz.FirstChild.InnerText; var(w, h) = ParseResolution(resText); if (!w.HasValue || !h.HasValue) { continue; } var yi = new BaseSearchResult() { Url = link, Width = w, Height = h, }; images.Add(yi); } return(images); }
public BaseSearchResult <PatientModel> SearchPatient(SearchModel search) { var result = new BaseSearchResult <PatientModel>(); var list = _patientRepository.FinAllPaging(search, c => !string.IsNullOrEmpty(c.PatientId), a => a.PatientId); var test = new PatientModel(); test.Status = PatientStatus.InTherapy; test.StatusDescription = test.Status.ToDescription(); result.Records = list.Records.CloneToListModels <Patient, PatientModel>(); result.Records.ForEach(c => c.StatusDescription = c.Status.HasValue ? c.Status.ToDescription() : string.Empty); result.PageCount = list.PageCount; result.PageIndex = list.PageIndex; result.PageSize = list.PageSize; result.TotalRecord = list.TotalRecord; return(result); }
private BaseSearchResult[] ConvertResults(TraceMoeRootObject obj) { var docs = obj.docs; var results = new BaseSearchResult[docs.Count]; for (int i = 0; i < results.Length; i++) { var doc = docs[i]; var sim = (float?)doc.similarity * 100; var malUrl = MAL_URL + doc.mal_id; results[i] = new FullSearchResult(this, malUrl, sim) { Source = doc.title_english, Description = $"Episode #{doc.episode} @ {TimeSpan.FromSeconds(doc.at)}" }; } return(results); }
public override FullSearchResult GetResult(string url) { //http://tidder.xyz/?imagelink= // var sr = base.GetResult(url); try { if (!Network.TryGetString(sr.RawUrl !, out var html)) { sr.RawUrl = null; sr.Url = null; sr.AddErrorMessage("Unavailable"); return(sr); } var doc = new HtmlDocument(); doc.LoadHtml(html); var documentNode = doc.DocumentNode; var findings = documentNode.SelectNodes("//*[contains(@class, 'findings-row')]"); if (findings == null || !findings.Any()) { sr.Filter = true; return(sr); } //Debug.WriteLine(findings.Count); var list = new List <BaseSearchResult>(); foreach (var t in findings) { var sub = t.SelectNodes("td"); var imgNode = sub[0]; var distNode = sub[1]; var scoreNode = sub[2]; var postedNode = sub[3]; var titleNode = sub[4]; var authorNode = sub[5]; var subredditNode = sub[6]; string?dist = distNode.InnerText; string?score = scoreNode.InnerText; string?posted = postedNode.InnerText; string?title = titleNode.InnerText; string?author = authorNode.InnerText; string?subreddit = subredditNode.InnerText; string link = titleNode.FirstChild.Attributes["href"].DeEntitizeValue; var bsr = new BaseSearchResult { Artist = author, Description = title, Source = subreddit, Url = link, Date = DateTime.Parse(posted) }; list.Add(bsr); } var best = list[0]; sr.UpdateFrom(best); sr.AddExtendedResults(list); } catch (Exception e) { // ... sr.AddErrorMessage(e.Message); } return(sr); }
private BaseSearchResult ParseResult(HtmlNodeCollection tr) { var caption = tr[0]; var img = tr[1]; var src = tr[2]; string url = null !; var urlNode = img.FirstChild.FirstChild; if (urlNode.Name != "img") { var origUrl = urlNode.Attributes["href"].Value; // Links must begin with http:// in order to work with "start" if (origUrl.StartsWith("//")) { origUrl = "http:" + origUrl; } url = origUrl; } int w = 0, h = 0; if (tr.Count >= 4) { var res = tr[3]; var wh = res.InnerText.Split(Formatting.MUL_SIGN); var wStr = wh[0].SelectOnlyDigits(); w = Int32.Parse(wStr); // May have NSFW caption, so remove it var hStr = wh[1].SelectOnlyDigits(); h = Int32.Parse(hStr); } float?sim; if (tr.Count >= 5) { var simNode = tr[4]; var simStr = simNode.InnerText.Split('%')[0]; sim = Single.Parse(simStr); } else { sim = null; } //var i = new BasicSearchResult(url, sim, w, h, src.InnerText, null, caption.InnerText); var i = new BaseSearchResult() { Url = url, Similarity = sim, Width = w, Height = h, Source = src.InnerText, Description = caption.InnerText, }; i.Filter = i.Similarity < FilterThreshold; return(i); }