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]: {
@ -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,15 +85,7 @@ 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)) {
if (
converterObj.properties.from.includes(fileType) &&
converterObj.properties.to.includes(convertTo)
) {
converterFunc = converterObj.converter;
break;
}
} else {
for (const key in converterObj.properties.from) {
if (
converterObj.properties.from[key].includes(fileType) &&
@ -104,7 +97,6 @@ export async function mainConverter(
}
}
}
}
if (!converterFunc) {
console.log(
@ -141,11 +133,6 @@ for (const converterName in properties) {
continue;
}
if (Array.isArray(converterProperties.from)) {
for (const extension of converterProperties.from) {
possibleConversions[extension] = converterProperties.to;
}
} else {
for (const key in converterProperties.from) {
if (!converterProperties.from[key] || !converterProperties.to[key]) {
continue;
@ -156,7 +143,6 @@ for (const converterName in properties) {
}
}
}
}
// // save all possible conversions to a file
// import fs from "fs";
@ -178,14 +164,10 @@ 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]);
}
}
}
export const getAllTargets = () => {
return allTargets;

View file

@ -1,7 +1,8 @@
import { exec } from "node:child_process";
export const properties = {
from: [
from: {
text: [
"textile",
"tikiwiki",
"tsv",
@ -46,7 +47,9 @@ export const properties = {
"rtf",
"t2t",
],
to: [
},
to: {
text: [
"tei",
"texinfo",
"textile",
@ -113,6 +116,7 @@ export const properties = {
"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) {