support creation from stdin
This commit is contained in:
parent
eea86fabd0
commit
253f29992e
|
@ -1,5 +1,6 @@
|
||||||
from appdirs import user_config_dir
|
from appdirs import user_config_dir
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
import json
|
import json
|
||||||
import argparse
|
import argparse
|
||||||
import requests
|
import requests
|
||||||
|
@ -46,12 +47,14 @@ def main():
|
||||||
spr_list.add_argument("name", nargs="?", help="prefix to match")
|
spr_list.add_argument("name", nargs="?", help="prefix to match")
|
||||||
|
|
||||||
spr_new = spr_action.add_parser("new", help="create a paste")
|
spr_new = spr_action.add_parser("new", help="create a paste")
|
||||||
spr_new.add_argument("name", nargs="?", default="", help="name of paste to create")
|
spr_new.add_argument("-i", "--stdin", action="store_true", help="read contents from stdin")
|
||||||
|
spr_new.add_argument("name", help="name of paste to create")
|
||||||
|
|
||||||
spr_get = spr_action.add_parser("get", help="get a paste")
|
spr_get = spr_action.add_parser("get", help="get a paste")
|
||||||
spr_get.add_argument("name", help="name of paste to get")
|
spr_get.add_argument("name", help="name of paste to get")
|
||||||
|
|
||||||
spr_edit = spr_action.add_parser("edit", help="edit a paste")
|
spr_edit = spr_action.add_parser("edit", help="edit a paste")
|
||||||
|
spr_edit.add_argument("-i", "--stdin", action="store_true", help="read contents from stdin")
|
||||||
spr_edit.add_argument("name", help="name of paste to edit")
|
spr_edit.add_argument("name", help="name of paste to edit")
|
||||||
|
|
||||||
spr_del = spr_action.add_parser("del", help="delete a paste")
|
spr_del = spr_action.add_parser("del", help="delete a paste")
|
||||||
|
@ -70,17 +73,18 @@ def main():
|
||||||
def putpaste(name, body):
|
def putpaste(name, body):
|
||||||
return r.post(host + "make", data={"name": name, "contents": body})
|
return r.post(host + "make", data={"name": name, "contents": body})
|
||||||
|
|
||||||
if args.action in ("new", "edit", "get"):
|
if args.action == "get":
|
||||||
if args.action in ("edit", "get"):
|
print(getpaste(args.name), end="")
|
||||||
content = getpaste(args.name)
|
|
||||||
if args.action == "get":
|
elif args.action in ("new", "edit"):
|
||||||
print(content, end="")
|
if args.stdin:
|
||||||
return
|
content = sys.stdin.read()
|
||||||
with tempfile.NamedTemporaryFile() as f:
|
else:
|
||||||
if args.action == "edit":
|
with tempfile.NamedTemporaryFile() as f:
|
||||||
f.write(content.encode("utf-8"))
|
if args.action == "edit":
|
||||||
f.flush()
|
f.write(getpaste(args.name).encode("utf-8"))
|
||||||
content = editor(f.name)
|
f.flush()
|
||||||
|
content = editor(f.name)
|
||||||
if not content:
|
if not content:
|
||||||
print("Blank paste, exiting")
|
print("Blank paste, exiting")
|
||||||
r = putpaste(args.name, content)
|
r = putpaste(args.name, content)
|
||||||
|
|
Loading…
Reference in New Issue