def upload_all(object_key): print("Uploading to {}".format(object_key)) recipients = config["plugins"]["uploader_keys"] recipients = [item for r in recipients.split(",") for item in ["-r", r]] tar = Popen(["tar", "cv", "."], stdout=PIPE) gpg = Popen(["gpg", "-e"] + recipients, stdin=tar.stdout, stdout=PIPE) pv = Popen(["pv"], stdin=gpg.stdout, stdout=PIPE) tar.stdout.close() gpg.stdout.close() s3.upload_multipart(object_key, pv.stdout) res1 = tar.wait() res2 = gpg.wait() res3 = pv.wait() assert res1 == res2 == res3 == 0
def test(*args): upload_multipart('test_object.txt', io.BytesIO(b'test binary data'))