program_collection/upload.py

31 lines
588 B
Python

#!/usr/bin/env python3
import sys
import yaml
import requests
from urllib.parse import urljoin
def main():
if len(sys.argv) != 3:
print("Usage:")
print("upload.py [URL_BASE] [SOURCE_FILE]")
return
urlbase = sys.argv[1]
source_file = sys.argv[2]
with open(source_file, "r") as f:
program = yaml.load(f, Loader=yaml.FullLoader)
print("Uploading...")
target_url = urljoin(urlbase, "program")
r = requests.post(target_url, json=program)
r.raise_for_status()
print(f"Upload complete, id of the uploaded program: {r.json()['_id']}")
if __name__ == '__main__':
main()