private FileSearchResult handleFileSearch(UriHandlerData data) { var filename = data.Queries.GetString("fs_from"); var sm = data.Queries.GetBoolean("fs_similar"); var cv = data.Queries.GetBoolean("fs_covers"); var exp = data.Queries.GetBoolean("fs_exp"); var hashes = (data.Queries.GetString("f_shash") ?? "") .Split(",; ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) .Where(str => str.All(ch => ('0' <= ch && ch <= '9') || ('a' <= ch && ch <= 'f') || ('A' <= ch && ch <= 'F'))) .Select(SHA1Value.Parse); var otherdata = handleSearch(data); return(FileSearchResult.Search(otherdata.Keyword, otherdata.Category, hashes, filename, sm, cv, exp)); }
private FileSearchResult handleFileSearch(UriHandlerData data) { var fn = default(string); var sm = false; var cv = false; var exp = false; var hashes = default(IEnumerable <SHA1Value>); foreach (var item in data.Queries) { switch (item.Key) { case "f_shash": hashes = item.Value.Split(",;".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(SHA1Value.Parse); break; case "fs_from": fn = item.Value; break; case "fs_similar": sm = item.Value.QueryValueAsBoolean(); break; case "fs_covers": cv = item.Value.QueryValueAsBoolean(); break; case "fs_exp": exp = item.Value.QueryValueAsBoolean(); break; } } var otherdata = handleSearch(data); return(FileSearchResult.Search(otherdata.Keyword, otherdata.Category, hashes, fn, sm, cv, exp)); }
public FileSearchResult Search(string keyword, Category category, IEnumerable <SHA1Value> fileHashes, string fileName, bool onlyCovers, bool searchExpunged) => FileSearchResult.Search(keyword, category, fileHashes, fileName, false, onlyCovers, searchExpunged);