bin/upload_symbols.py |   44 +++++++++++++++++++++++---------------------
 1 file changed, 23 insertions(+), 21 deletions(-)

New commits:
commit 044df303665606c778748fcfc0bfc47ce65ee914
Author:     Lukas <lukasmolle...@gmail.com>
AuthorDate: Wed Apr 20 19:54:39 2022 +0200
Commit:     Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
CommitDate: Fri Jun 10 13:43:14 2022 +0200

    bin/upload_symbols.py: make pythonic
    
    Change-Id: I44d86677f64b7b4a4212b94a574a20805bac649b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133223
    Tested-by: Jenkins
    Reviewed-by: Arkadiy Illarionov <qar...@gmail.com>
    Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>

diff --git a/bin/upload_symbols.py b/bin/upload_symbols.py
index 277508da712e..45fede08fb20 100755
--- a/bin/upload_symbols.py
+++ b/bin/upload_symbols.py
@@ -6,48 +6,50 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 
-import requests, sys
-import platform, configparser
+import configparser
+import platform
+import argparse
+import requests
 
-def detect_platform():
-    return platform.system()
 
 def main():
-    if len(sys.argv) < 4:
-        print(sys.argv)
-        print("Invalid number of parameters")
-        print("Usage: upload-symbols.py symbols.zip config.ini \"long 
explanation\" [--system]")
-        sys.exit(1)
+    parser = argparse.ArgumentParser()
+    parser.add_argument('symbols_dir')
+    parser.add_argument('config_dir')
+    parser.add_argument('version')
+    group = parser.add_mutually_exclusive_group()
+    group.add_argument('--system', action='store_true')
+    group.add_argument('--platform', choices=('Windows', 'Linux'))
+    args = parser.parse_args()
 
     base_url = "https://crashreport.libreoffice.org/";
     upload_url = base_url + "upload/"
     login_url = base_url + "accounts/login/"
 
     config = configparser.ConfigParser()
-    config.read(sys.argv[2])
+    config.read(args.config_dir)
 
     user = config["CrashReport"]["User"]
     password = config["CrashReport"]["Password"]
 
-    platform = detect_platform()
-    files = {'symbols': open(sys.argv[1], 'rb')}
-    data = {'version': sys.argv[3], 'platform': platform}
-
-    if len(sys.argv) > 4 and sys.argv[4] == "--system":
-        data['system'] = True
+    files = {'symbols': open(args.symbol_dir, 'rb')}
+    data = {'version': args.version,
+            'system': args.system,
+            'platform': platform.system() if args.platform is None else 
args.platform}
 
     session = requests.session()
     session.get(login_url)
     csrftoken = session.cookies['csrftoken']
 
-    login_data = { 'username': user,'password': password,
-            'csrfmiddlewaretoken': csrftoken }
-    headers = { "Referer": base_url }
-    r1 = session.post(login_url, headers=headers, data=login_data)
+    login_data = {'username': user, 'password': password,
+                  'csrfmiddlewaretoken': csrftoken}
+    headers = {"Referer": base_url}
+    session.post(login_url, headers=headers, data=login_data)
 
     data['csrfmiddlewaretoken'] = csrftoken
 
-    r = session.post(upload_url, headers=headers, files=files, data=data)
+    session.post(upload_url, headers=headers, files=files, data=data)
+
 
 if __name__ == "__main__":
     main()

Reply via email to