@autorest/python 6.13.11 → 6.13.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -350,9 +350,7 @@ class Client(_ClientConfigBase[ClientGlobalParameterList]):
350
350
  elif self.code_model.options["models_mode"] == "msrest":
351
351
  # in this case, we have client_models = {} in the service client, which needs a type annotation
352
352
  # this import will always be commented, so will always add it to the typing section
353
- file_import.add_submodule_import(
354
- "typing", "Dict", ImportType.STDLIB, TypingSection.TYPING
355
- )
353
+ file_import.add_submodule_import("typing", "Dict", ImportType.STDLIB)
356
354
  file_import.add_submodule_import("copy", "deepcopy", ImportType.STDLIB)
357
355
  return file_import
358
356
 
@@ -605,6 +605,56 @@ class Model(_MyMutableMapping):
605
605
  }
606
606
  return v.as_dict(exclude_readonly=exclude_readonly) if hasattr(v, "as_dict") else v
607
607
 
608
+ def _deserialize_model(model_deserializer: typing.Optional[typing.Callable], obj):
609
+ if _is_model(obj):
610
+ return obj
611
+ return _deserialize(model_deserializer, obj)
612
+
613
+ def _deserialize_with_optional(if_obj_deserializer: typing.Optional[typing.Callable], obj):
614
+ if obj is None:
615
+ return obj
616
+ return _deserialize_with_callable(if_obj_deserializer, obj)
617
+
618
+ def _deserialize_with_union(deserializers, obj):
619
+ for deserializer in deserializers:
620
+ try:
621
+ return _deserialize(deserializer, obj)
622
+ except DeserializationError:
623
+ pass
624
+ raise DeserializationError()
625
+
626
+ def _deserialize_dict(
627
+ value_deserializer: typing.Optional[typing.Callable],
628
+ module: typing.Optional[str],
629
+ obj: typing.Dict[typing.Any, typing.Any],
630
+ ):
631
+ if obj is None:
632
+ return obj
633
+ return {
634
+ k: _deserialize(value_deserializer, v, module)
635
+ for k, v in obj.items()
636
+ }
637
+
638
+ def _deserialize_multiple_sequence(
639
+ entry_deserializers: typing.List[typing.Optional[typing.Callable]],
640
+ module: typing.Optional[str],
641
+ obj,
642
+ ):
643
+ if obj is None:
644
+ return obj
645
+ return type(obj)(
646
+ _deserialize(deserializer, entry, module)
647
+ for entry, deserializer in zip(obj, entry_deserializers)
648
+ )
649
+
650
+ def _deserialize_sequence(
651
+ deserializer: typing.Optional[typing.Callable],
652
+ module: typing.Optional[str],
653
+ obj,
654
+ ):
655
+ if obj is None:
656
+ return obj
657
+ return type(obj)(_deserialize(deserializer, entry, module) for entry in obj)
608
658
 
609
659
  def _get_deserialize_callable_from_annotation( # pylint: disable=R0911, R0915, R0912
610
660
  annotation: typing.Any,
@@ -633,11 +683,6 @@ def _get_deserialize_callable_from_annotation( # pylint: disable=R0911, R0915,
633
683
  if rf:
634
684
  rf._is_model = True
635
685
 
636
- def _deserialize_model(model_deserializer: typing.Optional[typing.Callable], obj):
637
- if _is_model(obj):
638
- return obj
639
- return _deserialize(model_deserializer, obj)
640
-
641
686
  return functools.partial(_deserialize_model, annotation) # pyright: ignore
642
687
  except Exception:
643
688
  pass
@@ -656,11 +701,6 @@ def _get_deserialize_callable_from_annotation( # pylint: disable=R0911, R0915,
656
701
  next(a for a in annotation.__args__ if a != type(None)), module, rf # pyright: ignore
657
702
  )
658
703
 
659
- def _deserialize_with_optional(if_obj_deserializer: typing.Optional[typing.Callable], obj):
660
- if obj is None:
661
- return obj
662
- return _deserialize_with_callable(if_obj_deserializer, obj)
663
-
664
704
  return functools.partial(_deserialize_with_optional, if_obj_deserializer)
665
705
  except AttributeError:
666
706
  pass
@@ -674,14 +714,6 @@ def _get_deserialize_callable_from_annotation( # pylint: disable=R0911, R0915,
674
714
  )
675
715
  ]
676
716
 
677
- def _deserialize_with_union(deserializers, obj):
678
- for deserializer in deserializers:
679
- try:
680
- return _deserialize(deserializer, obj)
681
- except DeserializationError:
682
- pass
683
- raise DeserializationError()
684
-
685
717
  return functools.partial(_deserialize_with_union, deserializers)
686
718
 
687
719
  try:
@@ -690,20 +722,11 @@ def _get_deserialize_callable_from_annotation( # pylint: disable=R0911, R0915,
690
722
  annotation.__args__[1], module, rf # pyright: ignore
691
723
  )
692
724
 
693
- def _deserialize_dict(
694
- value_deserializer: typing.Optional[typing.Callable],
695
- obj: typing.Dict[typing.Any, typing.Any],
696
- ):
697
- if obj is None:
698
- return obj
699
- return {
700
- k: _deserialize(value_deserializer, v, module)
701
- for k, v in obj.items()
702
- }
703
-
725
+
704
726
  return functools.partial(
705
727
  _deserialize_dict,
706
728
  value_deserializer,
729
+ module,
707
730
  )
708
731
  except (AttributeError, IndexError):
709
732
  pass
@@ -711,34 +734,18 @@ def _get_deserialize_callable_from_annotation( # pylint: disable=R0911, R0915,
711
734
  if annotation._name in ["List", "Set", "Tuple", "Sequence"]: # pyright: ignore
712
735
  if len(annotation.__args__) > 1: # pyright: ignore
713
736
 
714
- def _deserialize_multiple_sequence(
715
- entry_deserializers: typing.List[typing.Optional[typing.Callable]],
716
- obj,
717
- ):
718
- if obj is None:
719
- return obj
720
- return type(obj)(
721
- _deserialize(deserializer, entry, module)
722
- for entry, deserializer in zip(obj, entry_deserializers)
723
- )
724
737
 
725
738
  entry_deserializers = [
726
739
  _get_deserialize_callable_from_annotation(dt, module, rf) for dt in annotation.__args__ # pyright: ignore
727
740
  ]
728
- return functools.partial(_deserialize_multiple_sequence, entry_deserializers)
741
+ return functools.partial(_deserialize_multiple_sequence, entry_deserializers, module)
729
742
  deserializer = _get_deserialize_callable_from_annotation(
730
743
  annotation.__args__[0], module, rf # pyright: ignore
731
744
  )
732
745
 
733
- def _deserialize_sequence(
734
- deserializer: typing.Optional[typing.Callable],
735
- obj,
736
- ):
737
- if obj is None:
738
- return obj
739
- return type(obj)(_deserialize(deserializer, entry, module) for entry in obj)
746
+
740
747
 
741
- return functools.partial(_deserialize_sequence, deserializer)
748
+ return functools.partial(_deserialize_sequence, deserializer, module)
742
749
  except (TypeError, IndexError, AttributeError, SyntaxError):
743
750
  pass
744
751
 
@@ -1,4 +1,3 @@
1
- -e ../../../tools/azure-devtools
2
1
  -e ../../../tools/azure-sdk-tools
3
2
  ../../core/azure-core
4
3
  {% if token_credential -%}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autorest/python",
3
- "version": "6.13.11",
3
+ "version": "6.13.12",
4
4
  "description": "The Python extension for generators in AutoRest.",
5
5
  "main": "index.js",
6
6
  "repository": {