remove from array

This commit is contained in:
C4illin
2024-05-21 16:27:33 +02:00
parent 74a9252077
commit c8856800a7
6 changed files with 138 additions and 151 deletions

View File

@@ -4,7 +4,7 @@ export const Header = ({ loggedIn }: { loggedIn?: boolean }) => {
rightNav = (
<ul>
<li>
<a href="/history">History</a>
<a href="/test">History</a>
</li>
<li>
<a href="/logout">Logout</a>

View File

@@ -659,6 +659,7 @@ export async function convert(
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
options?: any,
) {
return exec(
`ffmpeg -f "${fileType}" -i "${filePath}" -f "${convertTo}" "${targetPath}"`,
(error, stdout, stderr) => {

View File

@@ -16,8 +16,8 @@ import {
const properties: {
[key: string]: {
properties: {
from: string[] | { [key: string]: string[] };
to: string[] | { [key: string]: string[] };
from: { [key: string]: string[] };
to: { [key: string]: string[] };
options?: {
[key: string]: {
[key: string]: {
@@ -36,7 +36,7 @@ const properties: {
targetPath: string,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
options?: any,
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
) => any;
};
} = {
@@ -70,12 +70,13 @@ export async function mainConverter(
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
let converterFunc: any;
let converterName = converter;
if (converter) {
converterFunc = properties[converter];
} else {
// Iterate over each converter in properties
for (const converterName in properties) {
for (converterName in properties) {
const converterObj = properties[converterName];
if (!converterObj) {
@@ -84,24 +85,15 @@ export async function mainConverter(
// if converter properties.from is an object loop thorugh the keys otherwise use the array
// for example ffmpeg is an object eg from: {video: ["mp4", "webm"], audio: ["mp3"]}
if (Array.isArray(converterObj.properties.from) && Array.isArray(converterObj.properties.to)) {
for (const key in converterObj.properties.from) {
if (
converterObj.properties.from.includes(fileType) &&
converterObj.properties.to.includes(convertTo)
converterObj.properties.from[key].includes(fileType) &&
converterObj.properties.to[key].includes(convertTo)
) {
converterFunc = converterObj.converter;
break;
}
} else {
for (const key in converterObj.properties.from) {
if (
converterObj.properties.from[key].includes(fileType) &&
converterObj.properties.to[key].includes(convertTo)
) {
converterFunc = converterObj.converter;
break;
}
}
}
}
}
@@ -141,19 +133,13 @@ for (const converterName in properties) {
continue;
}
if (Array.isArray(converterProperties.from)) {
for (const extension of converterProperties.from) {
possibleConversions[extension] = converterProperties.to;
for (const key in converterProperties.from) {
if (!converterProperties.from[key] || !converterProperties.to[key]) {
continue;
}
} else {
for (const key in converterProperties.from) {
if (!converterProperties.from[key] || !converterProperties.to[key]) {
continue;
}
for (const extension of converterProperties.from[key]) {
possibleConversions[extension] = converterProperties.to[key];
}
for (const extension of converterProperties.from[key]) {
possibleConversions[extension] = converterProperties.to[key];
}
}
}
@@ -178,12 +164,8 @@ let allTargets: string[] = [];
for (const converterName in properties) {
const converterProperties = properties[converterName].properties;
if (Array.isArray(converterProperties.from)) {
allTargets = allTargets.concat(converterProperties.to);
} else {
for (const key in converterProperties.to) {
allTargets = allTargets.concat(converterProperties.to[key]);
}
for (const key in converterProperties.to) {
allTargets = allTargets.concat(converterProperties.to[key]);
}
}

View File

@@ -1,118 +1,122 @@
import { exec } from "node:child_process";
export const properties = {
from: [
"textile",
"tikiwiki",
"tsv",
"twiki",
"typst",
"vimwiki",
"biblatex",
"bibtex",
"bits",
"commonmark",
"commonmark_x",
"creole",
"csljson",
"csv",
"djot",
"docbook",
"docx",
"dokuwiki",
"endnotexml",
"epub",
"fb2",
"gfm",
"haddock",
"html",
"ipynb",
"jats",
"jira",
"json",
"latex",
"man",
"markdown",
"markdown_mmd",
"markdown_phpextra",
"markdown_strict",
"mediawiki",
"muse",
"pandoc native",
"opml",
"org",
"ris",
"rst",
"rtf",
"t2t",
],
to: [
"tei",
"texinfo",
"textile",
"typst",
"xwiki",
"zimwiki",
"asciidoc",
"asciidoc_legacy",
"asciidoctor",
"beamer",
"biblatex",
"bibtex",
"chunkedhtml",
"commonmark",
"commonmark_x",
"context",
"csljson",
"djot",
"docbook",
"docbook4",
"docbook5",
"docx",
"dokuwiki",
"dzslides",
"epub",
"epub2",
"epub3",
"fb2",
"gfm",
"haddock",
"html",
"html4",
"html5",
"icml",
"ipynb",
"jats",
"jats_archiving",
"jats_articleauthoring",
"jats_publishing",
"jira",
"json",
"latex",
"man",
"markdown",
"markdown_mmd",
"markdown_phpextra",
"markdown_strict",
"markua",
"mediawiki",
"ms",
"muse",
"pandoc native",
"odt",
"opendocument",
"opml",
"org",
"pdf",
"plain",
"pptx",
"revealjs",
"rst",
"rtf",
"s5",
"slideous",
"slidy",
],
from: {
text: [
"textile",
"tikiwiki",
"tsv",
"twiki",
"typst",
"vimwiki",
"biblatex",
"bibtex",
"bits",
"commonmark",
"commonmark_x",
"creole",
"csljson",
"csv",
"djot",
"docbook",
"docx",
"dokuwiki",
"endnotexml",
"epub",
"fb2",
"gfm",
"haddock",
"html",
"ipynb",
"jats",
"jira",
"json",
"latex",
"man",
"markdown",
"markdown_mmd",
"markdown_phpextra",
"markdown_strict",
"mediawiki",
"muse",
"pandoc native",
"opml",
"org",
"ris",
"rst",
"rtf",
"t2t",
],
},
to: {
text: [
"tei",
"texinfo",
"textile",
"typst",
"xwiki",
"zimwiki",
"asciidoc",
"asciidoc_legacy",
"asciidoctor",
"beamer",
"biblatex",
"bibtex",
"chunkedhtml",
"commonmark",
"commonmark_x",
"context",
"csljson",
"djot",
"docbook",
"docbook4",
"docbook5",
"docx",
"dokuwiki",
"dzslides",
"epub",
"epub2",
"epub3",
"fb2",
"gfm",
"haddock",
"html",
"html4",
"html5",
"icml",
"ipynb",
"jats",
"jats_archiving",
"jats_articleauthoring",
"jats_publishing",
"jira",
"json",
"latex",
"man",
"markdown",
"markdown_mmd",
"markdown_phpextra",
"markdown_strict",
"markua",
"mediawiki",
"ms",
"muse",
"pandoc native",
"odt",
"opendocument",
"opml",
"org",
"pdf",
"plain",
"pptx",
"revealjs",
"rst",
"rtf",
"s5",
"slideous",
"slidy",
],
},
};
export function convert(

View File

@@ -3,8 +3,8 @@ import type { FormatEnum } from "sharp";
// declare possible conversions
export const properties = {
from: ["jpeg", "png", "webp", "gif", "avif", "tiff", "svg"],
to: ["jpeg", "png", "webp", "gif", "avif", "tiff"],
from: { images: ["jpeg", "png", "webp", "gif", "avif", "tiff", "svg"] },
to: { images: ["jpeg", "png", "webp", "gif", "avif", "tiff"] },
options: {
svg: {
scale: {

View File

@@ -511,7 +511,7 @@ const app = new Elysia()
}
db.run(
"UPDATE jobs SET num_files = ? WHERE id = ?",
"UPDATE jobs SET num_files = ?, status = 'pending' WHERE id = ?",
fileNames.length,
jobId.value,
);
@@ -540,7 +540,7 @@ const app = new Elysia()
}),
},
)
.get("/hist", async ({ body, jwt, redirect, cookie: { auth } }) => {
.get("/test", async ({ jwt, redirect, cookie: { auth } }) => {
console.log("results page");
if (!auth?.value) {