MarginaliaSearch/code/process-mqapi/java/nu/marginalia/mqapi/converting/ConvertRequest.java

70 lines
2.1 KiB
Java
Raw Normal View History

2023-07-17 11:57:32 +00:00
package nu.marginalia.mqapi.converting;
2023-07-14 15:08:10 +00:00
import lombok.AllArgsConstructor;
import nu.marginalia.storage.model.FileStorageId;
2023-07-14 15:08:10 +00:00
import java.nio.file.Path;
2023-07-14 15:08:10 +00:00
@AllArgsConstructor
public class ConvertRequest {
public final ConvertAction action;
public final String inputSource;
2023-07-14 15:08:10 +00:00
public final FileStorageId crawlStorage;
public final FileStorageId processedDataStorage;
public final String baseUrl;
public Path getInputPath() {
if (inputSource == null)
return null;
return Path.of(inputSource);
}
public static ConvertRequest forCrawlData(FileStorageId sourceId, FileStorageId destId) {
return new ConvertRequest(
ConvertAction.ConvertCrawlData,
null,
sourceId,
destId,
null
);
}
public static ConvertRequest forEncyclopedia(Path sourcePath, String baseUrl, FileStorageId destId) {
return new ConvertRequest(ConvertAction.SideloadEncyclopedia,
sourcePath.toString(),
null,
destId,
baseUrl);
}
public static ConvertRequest forDirtree(Path sourcePath, FileStorageId destId) {
return new ConvertRequest(ConvertAction.SideloadDirtree,
sourcePath.toString(),
null,
destId,
null);
}
public static ConvertRequest forWarc(Path sourcePath, FileStorageId destId) {
return new ConvertRequest(ConvertAction.SideloadWarc,
sourcePath.toString(),
null,
destId,
null);
}
public static ConvertRequest forReddit(Path sourcePath, FileStorageId destId) {
return new ConvertRequest(ConvertAction.SideloadReddit,
sourcePath.toString(),
null,
destId,
null);
}
public static ConvertRequest forStackexchange(Path sourcePath, FileStorageId destId) {
return new ConvertRequest(ConvertAction.SideloadStackexchange,
sourcePath.toString(),
null,
destId,
null);
}
2023-07-14 15:08:10 +00:00
}