@@ -14,7 +14,9 @@ class DictField(fields.DictField):
1414 handle defaults and support aliases for dict keys
1515 """
1616
17- def __init__ (self , aliases = None , convert_camel = True , defaults = None , * args , ** kwargs ):
17+ def __init__ (
18+ self , aliases = None , convert_camel = True , defaults = None , * args , ** kwargs
19+ ):
1820 self .convert_camel = convert_camel
1921 self .aliases = aliases or {}
2022 self .defaults = defaults or []
@@ -41,7 +43,11 @@ def convert(val):
4143
4244 if isinstance (value , dict ):
4345 d = {self .aliases .get (k , k ): convert (v ) for k , v in value .items ()}
44- return {camel_to_snake (k ): v for k , v in d .items ()} if self .convert_camel else d
46+ return (
47+ {camel_to_snake (k ): v for k , v in d .items ()}
48+ if self .convert_camel
49+ else d
50+ )
4551
4652 elif isinstance (value , list ):
4753 return [convert (v ) for v in value ]
@@ -68,10 +74,19 @@ def to_python(self, value, resource):
6874class ObjectField (fields .ObjectField ):
6975 """ Overridden to convert camel properties to snake by default, and to add get_data method to custom types """
7076
71- def __init__ (self , class_name = "AnonymousObject" , aliases = None , convert_camel = True , * args , ** kwargs ):
77+ def __init__ (
78+ self ,
79+ class_name = "AnonymousObject" ,
80+ aliases = None ,
81+ convert_camel = True ,
82+ * args ,
83+ ** kwargs ,
84+ ):
7285 self .convert_camel = convert_camel
7386
74- super (ObjectField , self ).__init__ (class_name = class_name , aliases = aliases or {}, * args , ** kwargs )
87+ super (ObjectField , self ).__init__ (
88+ class_name = class_name , aliases = aliases or {}, * args , ** kwargs
89+ )
7590
7691 def to_data (self , value ):
7792 if isinstance (value , list ):
@@ -83,7 +98,9 @@ def to_python(self, value, resource):
8398
8499 if isinstance (value , dict ):
85100 d = {
86- self .aliases .get (k , k ): self .to_python (v , resource ) if isinstance (v , (dict , list )) else v
101+ self .aliases .get (k , k ): self .to_python (v , resource )
102+ if isinstance (v , (dict , list ))
103+ else v
87104 for k , v in value .items ()
88105 }
89106 if self .convert_camel :
@@ -100,7 +117,10 @@ def to_python(self, value, resource):
100117 return obj
101118
102119 elif isinstance (value , list ):
103- return [self .to_python (x , resource ) if isinstance (x , (dict , list )) else x for x in value ]
120+ return [
121+ self .to_python (x , resource ) if isinstance (x , (dict , list )) else x
122+ for x in value
123+ ]
104124 else :
105125 return value
106126
@@ -110,7 +130,9 @@ class CommaSeparatedField(fields.TextField):
110130
111131 def to_python (self , value , resource ):
112132 if not isinstance (value , list ):
113- value = super (CommaSeparatedField , self ).to_python (value , resource ).split ("," )
133+ value = (
134+ super (CommaSeparatedField , self ).to_python (value , resource ).split ("," )
135+ )
114136
115137 return [str (val ).strip () for val in value if val ] if value else []
116138
@@ -119,12 +141,13 @@ def to_value(self, obj, resource):
119141
120142
121143class DrawingInfoField (ObjectField ):
122-
123144 def __init__ (self , * args , ** kwargs ):
124145 self .renderer_defaults = RENDERER_DEFAULTS
125146
126147 aliases = dict (DRAWING_INFO_ALIASES )
127- super (DrawingInfoField , self ).__init__ (class_name = "DrawingInfo" , aliases = aliases , * args , ** kwargs )
148+ super (DrawingInfoField , self ).__init__ (
149+ class_name = "DrawingInfo" , aliases = aliases , * args , ** kwargs
150+ )
128151
129152 def to_python (self , value , resource ):
130153 """ Overridden to ensure the presence of field properties in renderer """
@@ -136,7 +159,6 @@ def to_python(self, value, resource):
136159
137160
138161class BaseExtentField (DictField ):
139-
140162 def __init__ (self , esri_format = True , * args , ** kwargs ):
141163 self .esri_format = esri_format
142164
@@ -171,7 +193,6 @@ def _py_to_val(self, obj, resource):
171193
172194
173195class ExtentField (BaseExtentField ):
174-
175196 def _val_to_py (self , value , resource ):
176197 try :
177198 return Extent (value )
@@ -180,17 +201,17 @@ def _val_to_py(self, value, resource):
180201
181202
182203class SpatialReferenceField (BaseExtentField ):
183-
184204 def _val_to_py (self , value , resource ):
185205 return SpatialReference (value )
186206
187207
188208class TimeInfoField (ObjectField ):
189-
190209 def __init__ (self , * args , ** kwargs ):
191210 aliases = dict (TIME_INFO_ALIASES )
192211
193- super (TimeInfoField , self ).__init__ (class_name = "TimeInfo" , aliases = aliases , * args , ** kwargs )
212+ super (TimeInfoField , self ).__init__ (
213+ class_name = "TimeInfo" , aliases = aliases , * args , ** kwargs
214+ )
194215
195216
196217DRAWING_INFO_ALIASES = {
@@ -202,7 +223,6 @@ def __init__(self, *args, **kwargs):
202223 "minScale" : "min_scale" ,
203224 "maxScale" : "max_scale" ,
204225 "whereClause" : "where" ,
205-
206226 # Renderer
207227 "defaultSymbol" : "default_symbol" ,
208228 "defaultLabel" : "default_label" ,
@@ -214,12 +234,10 @@ def __init__(self, *args, **kwargs):
214234 "normalizationTotal" : "normalization_total" ,
215235 "backgroundFillSymbol" : "background_fill_symbol" ,
216236 "minValue" : "min" ,
217-
218237 # Class Break Info
219238 "classBreakInfos" : "class_breaks" ,
220239 "classMinValue" : "min" ,
221240 "classMaxValue" : "max" ,
222-
223241 # Symbol
224242 "xoffset" : "offset_x" ,
225243 "yoffset" : "offset_y" ,
@@ -232,7 +250,7 @@ def __init__(self, *args, **kwargs):
232250 "haloColor" : "halo_color" ,
233251 "horizontalAlignment" : "horizontal_alignment" ,
234252 "verticalAlignment" : "vertical_alignment" ,
235- "rightToLeft" : "is_rtl"
253+ "rightToLeft" : "is_rtl" ,
236254}
237255
238256RENDERER_ALIASES = {
@@ -250,20 +268,18 @@ def __init__(self, *args, **kwargs):
250268 "minValue" : "min_val" ,
251269 "imageData" : "image" ,
252270 "xoffset" : "offset_x" ,
253- "yoffset" : "offset_y"
271+ "yoffset" : "offset_y" ,
254272}
255273RENDERER_DEFAULTS = ("default_symbol" , "field" , "field1" , "field2" , "field3" , "label" )
256274
257275TIME_INFO_ALIASES = {
258276 "startTimeField" : "start_field" ,
259277 "endTimeField" : "end_field" ,
260278 "trackIdField" : "track_field" ,
261-
262279 # Used at the map service layer level (time data is layer specific)
263280 "timeInterval" : "interval" ,
264281 "timeIntervalUnits" : "units" ,
265-
266282 # Used at the map service level (defaults if not defined in layer)
267283 "defaultTimeInterval" : "default_interval" ,
268- "defaultTimeIntervalUnits" : "default_units"
284+ "defaultTimeIntervalUnits" : "default_units" ,
269285}
0 commit comments