2023-07-17 11:57:32 +00:00
|
|
|
package nu.marginalia.mqapi.converting;
|
2023-07-14 15:08:10 +00:00
|
|
|
|
|
|
|
import lombok.AllArgsConstructor;
|
2023-10-14 10:07:40 +00:00
|
|
|
import nu.marginalia.storage.model.FileStorageId;
|
2023-07-14 15:08:10 +00:00
|
|
|
|
2023-10-25 16:50:32 +00:00
|
|
|
import java.nio.file.Path;
|
|
|
|
|
2023-07-14 15:08:10 +00:00
|
|
|
@AllArgsConstructor
|
|
|
|
public class ConvertRequest {
|
2023-07-28 16:14:43 +00:00
|
|
|
public final ConvertAction action;
|
|
|
|
public final String inputSource;
|
2023-07-14 15:08:10 +00:00
|
|
|
public final FileStorageId crawlStorage;
|
|
|
|
public final FileStorageId processedDataStorage;
|
2023-10-25 16:50:32 +00:00
|
|
|
public final String baseUrl;
|
|
|
|
|
2024-02-14 10:11:23 +00:00
|
|
|
public Path getInputPath() {
|
|
|
|
if (inputSource == null)
|
|
|
|
return null;
|
|
|
|
|
|
|
|
return Path.of(inputSource);
|
|
|
|
}
|
|
|
|
|
2023-10-25 16:50:32 +00:00
|
|
|
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);
|
|
|
|
}
|
2023-12-06 17:43:55 +00:00
|
|
|
public static ConvertRequest forWarc(Path sourcePath, FileStorageId destId) {
|
|
|
|
return new ConvertRequest(ConvertAction.SideloadWarc,
|
|
|
|
sourcePath.toString(),
|
|
|
|
null,
|
|
|
|
destId,
|
|
|
|
null);
|
|
|
|
}
|
2024-02-14 10:11:23 +00:00
|
|
|
public static ConvertRequest forReddit(Path sourcePath, FileStorageId destId) {
|
|
|
|
return new ConvertRequest(ConvertAction.SideloadReddit,
|
|
|
|
sourcePath.toString(),
|
|
|
|
null,
|
|
|
|
destId,
|
|
|
|
null);
|
|
|
|
}
|
2023-10-25 16:50:32 +00:00
|
|
|
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
|
|
|
}
|