mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-24 21:29:00 +00:00

Look, this will make the git history look funny, but trimming unnecessary depth from the source tree is a very necessary sanity-preserving measure when dealing with a super-modularized codebase like this one. While it makes the project configuration a bit less conventional, it will save you several clicks every time you jump between modules. Which you'll do a lot, because it's *modul*ar. The src/main/java convention makes a lot of sense for a non-modular project though. This ain't that.
35 lines
1.1 KiB
Java
35 lines
1.1 KiB
Java
package nu.marginalia.crawlspec;
|
|
|
|
import nu.marginalia.storage.model.FileStorage;
|
|
import nu.marginalia.storage.model.FileStorageType;
|
|
|
|
import java.nio.file.Path;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class CrawlSpecFileNames {
|
|
public static Path resolve(Path base) {
|
|
return base.resolve("crawl-spec.parquet");
|
|
}
|
|
|
|
public static Path resolve(FileStorage storage) {
|
|
if (storage.type() != FileStorageType.CRAWL_SPEC)
|
|
throw new IllegalArgumentException("Provided file storage is of unexpected type " +
|
|
storage.type() + ", expected CRAWL_SPEC");
|
|
|
|
return resolve(storage.asPath());
|
|
}
|
|
|
|
public static List<Path> resolve(List<FileStorage> storageList) {
|
|
List<Path> ret = new ArrayList<>();
|
|
for (var storage : storageList) {
|
|
if (storage.type() != FileStorageType.CRAWL_SPEC)
|
|
throw new IllegalArgumentException("Provided file storage is of unexpected type " +
|
|
storage.type() + ", expected CRAWL_SPEC");
|
|
ret.add(resolve(storage));
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
}
|