diff options
Diffstat (limited to 'bin/update/upload_build_config.py')
-rwxr-xr-x | bin/update/upload_build_config.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/bin/update/upload_build_config.py b/bin/update/upload_build_config.py new file mode 100755 index 0000000000..ec5a94bf3e --- /dev/null +++ b/bin/update/upload_build_config.py @@ -0,0 +1,42 @@ +#! /usr/bin/env python3 + +import sys +import os +import configparser +import requests + +dir_path = os.path.dirname(os.path.realpath(__file__)) + + +def main(argv): + updater_config = argv[2] + + config = configparser.ConfigParser() + config.read(os.path.expanduser(updater_config)) + + user = config["Updater"]["User"] + password = config["Updater"]["Password"] + base_address = config["Updater"]["ServerURL"] + + login_url = base_address + "accounts/login/" + + session = requests.session() + session.get(login_url) + csrftoken = session.cookies['csrftoken'] + + login_data = {'username': user, 'password': password, + 'csrfmiddlewaretoken': csrftoken} + session.post(login_url, data=login_data, headers={"Referer": login_url}) + + url = base_address + "update/upload/release" + data = {'csrfmiddlewaretoken': csrftoken} + + build_config = os.path.join(argv[1], "build_config.json") + r = session.post(url, files={'release_config': open(build_config, "r")}, data=data) + print(r.content) + if r.status_code != 200: + sys.exit(1) + + +if __name__ == "__main__": + main(sys.argv) |