mirror of
https://github.com/captbaritone/webamp.git
synced 2026-07-23 10:07:35 +00:00
Add add cli command and make cli more defensive
This commit is contained in:
parent
53c5473da8
commit
b8ed7ec39e
1 changed files with 54 additions and 44 deletions
|
|
@ -10,61 +10,71 @@ const Skins = require("./data/skins");
|
|||
const db = require("./db");
|
||||
const Discord = require("discord.js");
|
||||
const tweet = require("./tasks/tweet");
|
||||
const { addSkinFromBuffer } = require("./addSkin");
|
||||
|
||||
async function main() {
|
||||
const client = new Discord.Client();
|
||||
// The Winston transport logs in the client.
|
||||
await DiscordWinstonTransport.addToLogger(client, logger);
|
||||
|
||||
switch (argv._[0]) {
|
||||
case "image-hash":
|
||||
const hashes = new Map();
|
||||
try {
|
||||
switch (argv._[0]) {
|
||||
case "image-hash":
|
||||
const hashes = new Map();
|
||||
|
||||
fs.readFileSync(path.join(__dirname, "./hash.txt"), "utf8")
|
||||
.split("\n")
|
||||
.forEach(line => {
|
||||
const [md5, imgHash] = line.split(" ");
|
||||
hashes.set(md5, imgHash);
|
||||
});
|
||||
fs.readFileSync(path.join(__dirname, "./hash.txt"), "utf8")
|
||||
.split("\n")
|
||||
.forEach((line) => {
|
||||
const [md5, imgHash] = line.split(" ");
|
||||
hashes.set(md5, imgHash);
|
||||
});
|
||||
|
||||
for (const [md5, imgHash] of hashes.entries()) {
|
||||
await Skins.setImageHash(md5, imgHash);
|
||||
process.stderr.write(".");
|
||||
for (const [md5, imgHash] of hashes.entries()) {
|
||||
await Skins.setImageHash(md5, imgHash);
|
||||
process.stderr.write(".");
|
||||
}
|
||||
break;
|
||||
|
||||
case "tweet":
|
||||
await tweet(client);
|
||||
break;
|
||||
case "fetch-metadata":
|
||||
console.log("Going to download metadata from the Internet Archive");
|
||||
await fetchInternetArchiveMetadata();
|
||||
break;
|
||||
|
||||
case "ensure-md5s":
|
||||
await ensureInternetArchiveItemsIndexByMd5();
|
||||
break;
|
||||
case "metadata": {
|
||||
const hash = argv._[1];
|
||||
console.log(await Skins.getInternetArchiveUrl(hash));
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case "tweet":
|
||||
await tweet(client);
|
||||
break;
|
||||
case "fetch-metadata":
|
||||
console.log("Going to download metadata from the Internet Archive");
|
||||
await fetchInternetArchiveMetadata();
|
||||
break;
|
||||
|
||||
case "ensure-md5s":
|
||||
await ensureInternetArchiveItemsIndexByMd5();
|
||||
break;
|
||||
case "metadata": {
|
||||
const hash = argv._[1];
|
||||
console.log(await Skins.getInternetArchiveUrl(hash));
|
||||
break;
|
||||
case "reconcile": {
|
||||
await Skins.reconcile();
|
||||
break;
|
||||
}
|
||||
case "skin": {
|
||||
const hash = argv._[1];
|
||||
logger.info({ hash });
|
||||
console.log(await Skins.getSkinByMd5(hash));
|
||||
break;
|
||||
}
|
||||
case "add": {
|
||||
const filePath = argv._[1];
|
||||
const buffer = fs.readFileSync(filePath);
|
||||
console.log(await addSkinFromBuffer(buffer, filePath, "cli-user"));
|
||||
break;
|
||||
}
|
||||
default:
|
||||
console.log(`Unknown command ${argv._[0]}`);
|
||||
}
|
||||
case "reconcile": {
|
||||
await Skins.reconcile();
|
||||
break;
|
||||
}
|
||||
case "skin": {
|
||||
const hash = argv._[1];
|
||||
logger.info({ hash });
|
||||
console.log(await Skins.getSkinByMd5(hash));
|
||||
break;
|
||||
}
|
||||
default:
|
||||
console.log(`Unknown command ${argv._[0]}`);
|
||||
} finally {
|
||||
logger.close();
|
||||
client.destroy();
|
||||
await db.close();
|
||||
}
|
||||
logger.close();
|
||||
client.destroy();
|
||||
await db.close();
|
||||
}
|
||||
|
||||
main();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue