improved CLI
This commit is contained in:
+29
-4
@@ -9,9 +9,34 @@ from . import meme_otron
|
|||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
db.load_memes()
|
db.load_memes()
|
||||||
imgf.load_fonts()
|
imgf.load_fonts()
|
||||||
if len(sys.argv) <= 1 or sys.argv[1].lower().strip() == "help":
|
|
||||||
print("python -m meme_otron (meme_id) \"[text 1]\" \"[text 2]\" ... > file.jpg", file=sys.stderr)
|
if len(sys.argv) <= 1 or sys.argv[1].lower().strip() == "help" or "-h" in sys.argv :
|
||||||
|
print("python -h\r\n",
|
||||||
|
"python -m meme_otron (meme_id) \"[text 1]\" \"[text 2]\" ... > file.jpg\r\n",
|
||||||
|
"python -m meme_otron -o file.jpg (meme_id) \"[text 1]\" \"[text 2]\" ...",
|
||||||
|
file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
else:
|
else:
|
||||||
|
output_f = None
|
||||||
|
if "-o" in sys.argv:
|
||||||
|
i = sys.argv.index("-o")
|
||||||
|
if len(sys.argv) >= i:
|
||||||
|
output_f = sys.argv[i+1]
|
||||||
|
del sys.argv[i+1]
|
||||||
|
del sys.argv[i]
|
||||||
img = meme_otron.compute(*sys.argv[1:])
|
img = meme_otron.compute(*sys.argv[1:])
|
||||||
with os.fdopen(os.dup(sys.stdout.fileno())) as output:
|
if output_f is None:
|
||||||
img.save(output, format="jpeg")
|
with os.fdopen(os.dup(sys.stdout.fileno())) as output:
|
||||||
|
img.save(output, format="jpeg")
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
img.save(output_f)
|
||||||
|
print(f"Wrote '{output_f}'")
|
||||||
|
except OSError as e:
|
||||||
|
print(f"Cannot write '{output_f}': {e}", file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
except ValueError as e:
|
||||||
|
print(f"Cannot write '{output_f}': {e}", file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user