37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
from __future__ import print_function
|
|
import sys, json, binascii
|
|
from ..errors import handle_server_error
|
|
|
|
APPID = "lothar.com/wormhole/text-xfer"
|
|
|
|
@handle_server_error
|
|
def receive_text(args):
|
|
# we're receiving
|
|
from ..blocking.transcribe import Wormhole, WrongPasswordError
|
|
|
|
w = Wormhole(APPID, args.relay_url)
|
|
if args.zeromode:
|
|
assert not args.code
|
|
args.code = "0-"
|
|
code = args.code
|
|
if not code:
|
|
code = w.input_code("Enter receive-text wormhole code: ",
|
|
args.code_length)
|
|
w.set_code(code)
|
|
|
|
if args.verify:
|
|
verifier = binascii.hexlify(w.get_verifier())
|
|
print("Verifier %s." % verifier)
|
|
|
|
data = json.dumps({"message": "ok"}).encode("utf-8")
|
|
try:
|
|
them_bytes = w.get_data(data)
|
|
except WrongPasswordError as e:
|
|
print("ERROR: " + e.explain(), file=sys.stderr)
|
|
return 1
|
|
them_d = json.loads(them_bytes.decode("utf-8"))
|
|
if "error" in them_d:
|
|
print("ERROR: " + them_d["error"], file=sys.stderr)
|
|
return 1
|
|
print(them_d["message"])
|