11import collections
2+
3+ try :
4+ from collections .abc import Hashable , Mapping
5+ except ImportError : # Python < 3.3
6+ from collections import Hashable , Mapping
27import copy
38
49from ..language import ast
@@ -234,7 +239,7 @@ def define_field_map(
234239 if callable (field_map ):
235240 field_map = field_map ()
236241
237- assert isinstance (field_map , collections . Mapping ) and len (field_map ) > 0 , (
242+ assert isinstance (field_map , Mapping ) and len (field_map ) > 0 , (
238243 "{} fields must be a mapping (dict / OrderedDict) with field names as keys or a "
239244 "function which returns such a mapping."
240245 ).format (type )
@@ -248,7 +253,7 @@ def define_field_map(
248253
249254 if field_args :
250255 assert isinstance (
251- field_args , collections . Mapping
256+ field_args , Mapping
252257 ), "{}.{} args must be a mapping (dict / OrderedDict) with argument names as keys." .format (
253258 type , field_name
254259 )
@@ -520,15 +525,15 @@ def serialize(self, value):
520525 if isinstance (value , PyEnum ):
521526 # We handle PyEnum values
522527 value = value .value
523- if isinstance (value , collections . Hashable ):
528+ if isinstance (value , Hashable ):
524529 enum_value = self ._value_lookup .get (value )
525530 if enum_value :
526531 return enum_value .name
527532
528533 return None
529534
530535 def parse_value (self , value ):
531- if isinstance (value , collections . Hashable ):
536+ if isinstance (value , Hashable ):
532537 enum_value = self ._name_lookup .get (value )
533538
534539 if enum_value :
@@ -555,7 +560,7 @@ def _name_lookup(self):
555560
556561def define_enum_values (type , value_map ):
557562 assert (
558- isinstance (value_map , collections . Mapping ) and len (value_map ) > 0
563+ isinstance (value_map , Mapping ) and len (value_map ) > 0
559564 ), "{} values must be a mapping (dict / OrderedDict) with value names as keys." .format (
560565 type
561566 )
@@ -661,7 +666,7 @@ def _define_field_map(self):
661666 else :
662667 fields = self ._fields
663668
664- assert isinstance (fields , collections . Mapping ) and len (fields ) > 0 , (
669+ assert isinstance (fields , Mapping ) and len (fields ) > 0 , (
665670 "{} fields must be a mapping (dict / OrderedDict) with field names as keys or a "
666671 "function which returns such a mapping."
667672 ).format (self )
0 commit comments