lf_json_autogen.py: can now request port URLs

This commit is contained in:
Jed Reynolds
2021-08-06 12:35:09 -07:00
parent c17031807f
commit 851139a514

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python3
"""----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
Generated by LANforge JsonApiPythonGenerator, Fri Aug 06 11:45:38 PDT 2021
Generated by LANforge JsonApiPythonGenerator, Fri Aug 06 12:31:42 PDT 2021
- - WORK IN PROGRESS - -
The API this library provides is actively being changed.
This file expects to live in py-json/LANforge directory.
@@ -30,13 +30,12 @@ class LFJsonGet(LFCliBase):
_proxy_str=_proxy_str,
_capture_signal_list=_capture_signal_list)
"""----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
Extract fields from this response using the expected keys:
----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----"""
def extractValues(self, response=None, singular_key=None, plural_key=None):
"""----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
Extract fields from this response using the expected keys:
----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----"""
if (singular_key is None) or (plural_key is None) or (not singular_key) or (not plural_key):
raise ValueError("extractValues wants non-empty response, singular_key and plural_key")
if (singular_key in response) and (not response[ singular_key ]):
return []
elif ( singular_key in response) and ( type(response[ singular_key ]) is dict):
@@ -46,6 +45,30 @@ class LFJsonGet(LFCliBase):
else:
return response[ plural_key ]
# TODO: rename me to make_port_eid_url
def make_eid_url(self, eid_list=()):
"""----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
Convert a list of EIDs into a URL:
----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----"""
if not len(eid_list):
return "/list"
url = "/"
if isinstance(eid_list, str):
return url + eid_list.replace('.', '/')
# The first in a series has to define the resource number,
# but the remainder of a series has to match that resource number
for i in range(0, len(eid_list)):
eid = eid_list[ i ]
if i == 0:
url += eid.replace('.', '/')
elif eid.find('.') > 0:
url += ',' + eid.split('.')[-1]
else:
url += ','+eid
return url
"""----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
@@ -99,8 +122,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -114,7 +135,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -185,8 +206,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -200,7 +219,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -245,8 +264,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -260,7 +277,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -324,8 +341,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -339,7 +354,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -431,8 +446,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -446,7 +459,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -557,8 +570,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -572,7 +583,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -632,8 +643,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -647,7 +656,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -723,8 +732,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -738,7 +745,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -805,8 +812,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -820,7 +825,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -865,8 +870,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -880,7 +883,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -977,8 +980,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -992,7 +993,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -1130,8 +1131,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -1145,7 +1144,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -1190,8 +1189,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -1205,7 +1202,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -1281,8 +1278,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -1296,7 +1291,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -1373,8 +1368,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -1388,7 +1381,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -1441,8 +1434,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -1456,7 +1447,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -1520,8 +1511,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -1535,7 +1524,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -1586,8 +1575,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -1601,7 +1588,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -1654,8 +1641,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -1669,7 +1654,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -1721,8 +1706,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -1736,7 +1719,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -1810,8 +1793,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -1825,7 +1806,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -1912,8 +1893,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -1927,7 +1906,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -2017,8 +1996,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -2032,7 +2009,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -2099,8 +2076,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -2114,7 +2089,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -2182,8 +2157,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -2197,7 +2170,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -2282,8 +2255,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -2297,7 +2268,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))
@@ -2343,8 +2314,6 @@ class LFJsonGet(LFCliBase):
found_all = 0
if (eid_list is None) or (len(eid_list) < 1):
raise ValueError("no entity id in request")
if (requested_col_names is None) or (len(requested_col_names) < 1):
raise ValueError("requested_col_names must be a column name, or a list of column names")
trimmed_fields = []
if (isinstance(requested_col_names, str)):
if not requested_col_names.strip():
@@ -2358,7 +2327,7 @@ class LFJsonGet(LFCliBase):
if field.find(" ") > -1 :
raise ValueError("field should be URL encoded: [%s]" % (field))
trimmed_fields.append(field)
url += make_eid_url(eid_list)
url += self.make_eid_url(eid_list=eid_list)
if len(trimmed_fields) > 0:
url += "?fields=%s" % (",".join(trimmed_fields))