@@ -262,9 +262,6 @@ def _get_measure(da: Union[DataArray, Dataset], key: str) -> List[str]:
262
262
263
263
264
264
#: Default mappers for common keys.
265
- # TODO: Make the values of this a tuple,
266
- # so that multiple mappers can be used for a single key
267
- # We need this for groupby("T.month") and groupby("latitude") for example.
268
265
_DEFAULT_KEY_MAPPERS : Mapping [str , Tuple [Mapper , ...]] = {
269
266
"dim" : (_get_axis_coord ,),
270
267
"dims" : (_get_axis_coord ,), # is this necessary?
@@ -301,7 +298,7 @@ def _get_list_standard_names(obj: Dataset) -> List[str]:
301
298
----------
302
299
303
300
obj: DataArray, Dataset
304
- Xarray objec to process
301
+ Xarray object to process
305
302
306
303
Returns
307
304
-------
@@ -568,7 +565,7 @@ def _process_signature(
568
565
def _rewrite_values (
569
566
self ,
570
567
kwargs ,
571
- key_mappers : MutableMapping [str , Tuple [Mapper , ...]],
568
+ key_mappers : Mapping [str , Tuple [Mapper , ...]],
572
569
var_kws : Tuple [str , ...],
573
570
):
574
571
"""
@@ -593,11 +590,11 @@ def _rewrite_values(
593
590
594
591
# allow multiple return values here.
595
592
# these are valid for .sel, .isel, .coarsen
596
- key_mappers . update ( dict .fromkeys (var_kws , (_get_axis_coord ,)))
593
+ all_mappers = ChainMap ( key_mappers , dict .fromkeys (var_kws , (_get_axis_coord ,)))
597
594
598
- for key in set (key_mappers ) & set (kwargs ):
595
+ for key in set (all_mappers ) & set (kwargs ):
599
596
value = kwargs [key ]
600
- mappers = key_mappers [key ]
597
+ mappers = all_mappers [key ]
601
598
602
599
if isinstance (value , str ):
603
600
value = [value ]
0 commit comments