42 friend class ::FileFinderISISInstrumentDataCacheTest;
45 std::filesystem::path getFullPath(
const std::string &filename,
const bool ignoreDirs =
false)
const;
46 std::string extractAllowedSuffix(std::string &userString)
const;
49 void setCaseSensitive(
const bool cs);
50 bool getCaseSensitive()
const;
53 findRun(
const std::string &hintstr,
const std::vector<std::string> &exts = {},
const bool useExtsOnly =
false)
const;
54 std::vector<std::filesystem::path> findRuns(
const std::string &hintstr,
const std::vector<std::string> &exts = {},
55 const bool useExtsOnly =
false)
const;
56 std::vector<std::filesystem::path> findRuns(
const std::vector<std::string> &hints,
57 const std::vector<std::string> &exts = {},
58 const bool useExtsOnly =
false)
const;
63 std::filesystem::path tryResolvePathWithExtension(
const std::string &filename)
const;
65 const Kernel::InstrumentInfo getInstrument(
const std::string &hintstr,
const bool returnDefaultIfNotFound =
true,
66 const std::string &defaultInstrument =
"")
const;
68 std::string getExtension(
const std::string &filename,
const std::vector<std::string> &exts)
const;
69 void getUniqueExtensions(
const std::vector<std::string> &extensionsToAdd, std::vector<std::string> &uniqueExts)
const;
70 std::pair<std::string, std::string> toInstrumentAndNumber(
const std::string &hintstr,
71 const std::string &defaultInstrument =
"")
const;
72 std::pair<std::string, std::string> toInstrumentAndNumber(
const std::string &hintstr,
82 std::filesystem::path path{};
83 std::shared_ptr<Mantid::Kernel::InstrumentInfo> instr{};
85 std::string errorMsg{};
86 std::set<std::string> filenames{};
87 std::vector<std::string> extensionsToSearch{};
88 std::vector<Mantid::API::IArchiveSearch_sptr> archs{};
91 void performCacheSearch(std::vector<FileInfo> &fileInfos)
const;
102 std::string validateRuns(
const std::string &searchText)
const;
105 bool isMalformedRange(
const std::string &token)
const;
106 void prepareFileInfo(
FileInfo &fileInfo,
const std::vector<std::string> &extensionsProvided,
107 bool useOnlyExtensionsProvided)
const;
108 void processFileInfos(std::vector<FileInfo> &fileInfos,
const std::vector<std::string> &extensionsProvided,
109 bool useOnlyExtensionsProvided)
const;
110 void performFileSearch(std::vector<FileInfo> &fileInfos)
const;
111 void performArchiveSearch(std::vector<FileInfo> &fileInfos)
const;
112 void performBatchedArchiveSearch(std::vector<FileInfo> &fileInfos,
const IArchiveSearch_sptr &sharedArch)
const;
113 void performPerFileArchiveSearch(std::vector<FileInfo> &fileInfos)
const;
119 const std::set<std::string> &hintstrs,
120 const std::vector<std::string> &exts)
const;
122 const std::set<std::string> &hintstrs,
123 const std::vector<std::string> &exts)
const;