addedsperate filters per file category
This commit is contained in:
parent
78f52c769d
commit
8273a2a6a0
1 changed files with 59 additions and 48 deletions
|
|
@ -75,48 +75,61 @@ export const properties = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
// input/output files parsing method
|
type FileCategories = "text" | "calc";
|
||||||
const filters: Record<string, string> = {
|
|
||||||
"602": "T602Document",
|
const filters: Record<FileCategories, Record<string, string>> = {
|
||||||
abw: "AbiWord",
|
text: {
|
||||||
csv: "Text",
|
"602": "T602Document",
|
||||||
cwk: "ClarisWorks",
|
abw: "AbiWord",
|
||||||
doc: "MS Word 97",
|
csv: "Text",
|
||||||
docm: "MS Word 2007 XML VBA",
|
doc: "MS Word 97",
|
||||||
docx: "MS Word 2007 XML",
|
docm: "MS Word 2007 XML VBA",
|
||||||
dot: "MS Word 97 Vorlage",
|
docx: "MS Word 2007 XML",
|
||||||
dotx: "MS Word 2007 XML Template",
|
dot: "MS Word 97 Vorlage",
|
||||||
dotm: "MS Word 2007 XML Template",
|
dotx: "MS Word 2007 XML Template",
|
||||||
epub: "EPUB",
|
dotm: "MS Word 2007 XML Template",
|
||||||
fb2: "Fictionbook 2",
|
epub: "EPUB",
|
||||||
fodt: "OpenDocument Text Flat XML",
|
fb2: "Fictionbook 2",
|
||||||
htm: "HTML (StarWriter)",
|
fodt: "OpenDocument Text Flat XML",
|
||||||
html: "HTML (StarWriter)",
|
htm: "HTML (StarWriter)",
|
||||||
hwp: "writer_MIZI_Hwp_97",
|
html: "HTML (StarWriter)",
|
||||||
mcw: "MacWrite",
|
hwp: "writer_MIZI_Hwp_97",
|
||||||
mw: "MacWrite",
|
mcw: "MacWrite",
|
||||||
mwd: "Mariner_Write",
|
mw: "MacWrite",
|
||||||
lwd: "LotusWordPro",
|
mwd: "Mariner_Write",
|
||||||
lrf: "BroadBand eBook",
|
lwd: "LotusWordPro",
|
||||||
odt: "writer8",
|
lrf: "BroadBand eBook",
|
||||||
ott: "writer8_template",
|
odt: "writer8",
|
||||||
pages: "Apple Pages",
|
ott: "writer8_template",
|
||||||
//pdf should differentiate between import and export just leave as default for now
|
pages: "Apple Pages",
|
||||||
psw: "PocketWord File",
|
// pdf: "writer_pdf_import",
|
||||||
rtf: "Rich Text Format",
|
psw: "PocketWord File",
|
||||||
sdw: "StarOffice_Writer",
|
rtf: "Rich Text Format",
|
||||||
stw: "writer_StarOffice_XML_Writer_Template",
|
sdw: "StarOffice_Writer",
|
||||||
sxw: "StarOffice XML (Writer)",
|
stw: "writer_StarOffice_XML_Writer_Template",
|
||||||
tab: "Text",
|
sxw: "StarOffice XML (Writer)",
|
||||||
tsv: "Text",
|
tab: "Text",
|
||||||
txt: "Text",
|
tsv: "Text",
|
||||||
wn: "WriteNow",
|
txt: "Text",
|
||||||
wpd: "WordPerfect",
|
wn: "WriteNow",
|
||||||
wps: "MS Word 97",
|
wpd: "WordPerfect",
|
||||||
wpt: "MS Word 97 Vorlage",
|
wps: "MS Word 97",
|
||||||
wri: "MS_Write",
|
wpt: "MS Word 97 Vorlage",
|
||||||
xhtml: "HTML (StarWriter)",
|
wri: "MS_Write",
|
||||||
zabw: "AbiWord",
|
xhtml: "HTML (StarWriter)",
|
||||||
|
xml: "OpenDocument Text Flat XML",
|
||||||
|
zabw: "AbiWord",
|
||||||
|
},
|
||||||
|
calc: {},
|
||||||
|
};
|
||||||
|
|
||||||
|
const getFilters = (fileType: string, converto: string) => {
|
||||||
|
if (fileType in filters.text && converto in filters.text) {
|
||||||
|
return [filters.text[fileType], filters.text[converto]];
|
||||||
|
} else if (fileType in filters.calc && converto in filters.calc) {
|
||||||
|
return [filters.calc[fileType], filters.calc[converto]];
|
||||||
|
}
|
||||||
|
return [null, null];
|
||||||
};
|
};
|
||||||
|
|
||||||
export function convert(
|
export function convert(
|
||||||
|
|
@ -131,19 +144,17 @@ export function convert(
|
||||||
|
|
||||||
// Build arguments array
|
// Build arguments array
|
||||||
const args: string[] = [];
|
const args: string[] = [];
|
||||||
|
|
||||||
args.push("--headless");
|
args.push("--headless");
|
||||||
args.push("--outdir", outputPath);
|
const [inFilter, outFilter] = getFilters(fileType, convertTo);
|
||||||
|
|
||||||
const inFilter = filters[fileType];
|
|
||||||
if (inFilter) {
|
if (inFilter) {
|
||||||
args.push(`--infilter="${inFilter}"`);
|
args.push(`--infilter="${inFilter}"`);
|
||||||
}
|
}
|
||||||
const outFilter = filters[convertTo];
|
|
||||||
if (outFilter) {
|
if (outFilter) {
|
||||||
args.push("--convert-to", `"${convertTo}:${outFilter}"`, filePath);
|
args.push("--convert-to", `${convertTo}:${outFilter}`, "--outdir", outputPath, filePath);
|
||||||
} else {
|
} else {
|
||||||
args.push("--convert-to", convertTo, filePath);
|
args.push("--convert-to", convertTo, "--outdir", outputPath, filePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue