Bug 1302765 - Allow `./mach taskgraph .. --parameters P` to take a URL -4; draft Bug-1302765
authorHammad Akhtar <hammad13060@iiitd.ac.in>
Wed, 23 Nov 2016 18:05:24 +0530
branchBug-1302765
changeset 442863 0d0180dd59d94ff6aaf7403a9863928654f8dfd1
parent 442808 40fce912d7eb2e8e322cfba14e3f0110fc9cea52
child 724621 ce13957b4f617ba4ffe40f29af7e2717834a2e1a
push id36850
push userhammad13060@iiitd.ac.in
push dateWed, 23 Nov 2016 12:36:19 +0000
bugs1302765
milestone53.0a1
Bug 1302765 - Allow `./mach taskgraph .. --parameters P` to take a URL -4; MozReview-Commit-ID: 9BOXGQNDWiR
taskcluster/taskgraph/parameters.py
--- a/taskcluster/taskgraph/parameters.py
+++ b/taskcluster/taskgraph/parameters.py
@@ -65,23 +65,25 @@ def load_parameters_file(options):
 
     url_prefix = "https://public-artifacts.taskcluster.net/"
     url_postfix = "/0/public/parameters.yml"
 
     filename = options['parameters']
 
     if not filename:
         return Parameters()
-    elif filename.startswith(url_prefix):
+
+    try:
+        # reading parameters from a local parameters.yml file
+        f = open(filename)
+    except IOError:
+        # fetching parameters.yml using task task-id or supplied url
+        if filename.startswith("parameters-from-task="):
+            task_id = filename.split("=")[1]
+            filename = url_prefix + task_id + url_postfix
         f = urllib.urlopen(filename)
-    elif filename.startswith("parameters-from-task="):
-        task_id = filename.split("=")[1]
-        filename = url_prefix + task_id + url_postfix
-        f = urllib.urlopen(filename)
-    else:
-        f = open(filename)
 
     if filename.endswith('.yml'):
         return Parameters(**yaml.safe_load(f))
     elif filename.endswith('.json'):
         return Parameters(**json.load(f))
     else:
         raise TypeError("Parameters file `{}` is not JSON or YAML".format(filename))