added search
This commit is contained in:
@@ -63,3 +63,27 @@ export async function findFileById(id: string): Promise<string> {
|
||||
});
|
||||
}
|
||||
|
||||
export async function search(input: string) {
|
||||
return await new Promise<string>((resolve, reject) => {
|
||||
const ytDlpBin = process.env.YT_DLP_BIN_PATH! ?? "yt-dlp";
|
||||
console.log(`search for ${input}`)
|
||||
const search_url = spawn(ytDlpBin, [
|
||||
"--skip-download",
|
||||
"--print", "%(webpage_url)s",
|
||||
`ytsearch: ${input}`
|
||||
]);
|
||||
|
||||
let out = "";
|
||||
|
||||
search_url.stdout.on("data", d => out += d.toString());
|
||||
search_url.stderr.on("data", d => process.stderr.write(d));
|
||||
|
||||
search_url.on("close", code => {
|
||||
if (code !== 0 || !out.trim()) {
|
||||
reject(new Error("Search failed"));
|
||||
} else {
|
||||
resolve(out.trim());
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user