openrewrite-remote 0.2.3__py3-none-any.whl → 0.2.5__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: openrewrite-remote
3
- Version: 0.2.3
3
+ Version: 0.2.5
4
4
  Summary: Remoting functionality for the OpenRewrite library.
5
5
  License: Apache-2.0
6
6
  Author: Moderne Inc.
@@ -9,10 +9,10 @@ rewrite/remote/python/receiver.py,sha256=QecbX47QeiBX9ZhvPqpNxrynI99bcdJ7NrCHQsf
9
9
  rewrite/remote/python/sender.py,sha256=2tsjLoWwu8x_9TP83iPVN5peKAJAp-fGBB8MkoJtTb8,58169
10
10
  rewrite/remote/receiver.py,sha256=YLu6YhLCj6aNTeRsHdRFIeC7FY1rp4vGAA5PRze3JO0,15586
11
11
  rewrite/remote/remote_utils.py,sha256=wZhsDEV3qnayy3M98r6M-NMxGeowQ1qW7rFSJR0cY24,10145
12
- rewrite/remote/remoting.py,sha256=2bRgHNo7iCJkb_ywFhSvp3aJSSJjMfrtnrFsSV7_DoM,12988
13
- rewrite/remote/sender.py,sha256=RcjXdCkhv5qEZalTulLr8_HjSpLY5HSIkPQosS2SHL0,18112
12
+ rewrite/remote/remoting.py,sha256=9HntUG6NYyWrP9uiok6N68HD1Ee0PKKzoJQiiJcHvb4,13000
13
+ rewrite/remote/sender.py,sha256=5oM_GuyQgyqk6SxQkbjMbVfZGF75HwngjQ4ZKsvOQFs,18154
14
14
  rewrite/remote/server.py,sha256=aZxyoVOPAkoa49Kw72TQzs3Iy6fArdxPAXdBl6sWfCA,7516
15
- rewrite/remote/type_utils.py,sha256=lBpwGPm4EpkKH15FE3ueDty4CR6A8R46AbTQTZtnSlU,2698
16
- openrewrite_remote-0.2.3.dist-info/METADATA,sha256=-uoTfJbZawv2nd2uJbQC2K1cwgNMWyY3RHIE4aJ5V4w,599
17
- openrewrite_remote-0.2.3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
18
- openrewrite_remote-0.2.3.dist-info/RECORD,,
15
+ rewrite/remote/type_utils.py,sha256=_aTMki-gqghUMT4mfEngGCSjUirB3qE0jBFlc3roGRw,3288
16
+ openrewrite_remote-0.2.5.dist-info/METADATA,sha256=DiMYLn-Oa3783S-XoUJFl4IwTYJ7FNcdOaebvUE2-zY,599
17
+ openrewrite_remote-0.2.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
18
+ openrewrite_remote-0.2.5.dist-info/RECORD,,
@@ -23,7 +23,7 @@ class RemotingContext:
23
23
  _recipe_factories: Dict[str, Callable[[str, Dict[str, Any]], Recipe]] = {}
24
24
  _value_serializers: Dict[Type, ValueSerializer] = {}
25
25
  _value_deserializers: List[Tuple[Type, ValueDeserializer]] = []
26
- _object_to_id_map: Dict[Any, int] = {}
26
+ _object_to_id_map: Dict[int, int] = {}
27
27
  _id_to_object_map: Dict[int, Any] = {}
28
28
 
29
29
  def __init__(self):
@@ -52,17 +52,17 @@ class RemotingContext:
52
52
  self._client.close()
53
53
 
54
54
  def try_get_id(self, key: Any) -> Optional[int]:
55
- return self._object_to_id_map.get(key)
55
+ return self._object_to_id_map.get(id(key))
56
56
 
57
57
  def add(self, value: Any) -> int:
58
58
  object_id = len(self._object_to_id_map)
59
- self._object_to_id_map[value] = object_id
59
+ self._object_to_id_map[id(value)] = object_id
60
60
  self._id_to_object_map[object_id] = value
61
61
  return object_id
62
62
 
63
63
  def add_by_id(self, key: int, value: Any) -> None:
64
64
  self._id_to_object_map[key] = value
65
- self._object_to_id_map[value] = key
65
+ self._object_to_id_map[id(value)] = key
66
66
 
67
67
  def get_object(self, key: int) -> Optional[Any]:
68
68
  return self._id_to_object_map.get(key)
rewrite/remote/sender.py CHANGED
@@ -10,7 +10,7 @@ from uuid import UUID
10
10
  import cbor2
11
11
  from cbor2 import CBOREncoder
12
12
  from rewrite import Tree, Markers, Marker, ParseErrorVisitor, Cursor
13
- from rewrite.remote.type_utils import to_java_type_name
13
+ from rewrite.remote.type_utils import to_java_type_name, to_java_field_name
14
14
  from rewrite.visitor import TreeVisitor
15
15
 
16
16
  from . import remote_utils
@@ -336,7 +336,7 @@ class ValueSerializer(ABC):
336
336
 
337
337
  for field in fields(value):
338
338
  if field.name[0] == '_' and not hasattr(field.type, '__origin__') or field.type.__origin__ is not ClassVar:
339
- encoder.encode_string(field.name[1:])
339
+ encoder.encode_string(to_java_field_name(field))
340
340
  context.serialize(getattr(value, field.name), None, encoder)
341
341
  encoder.write(BREAK_MARKER)
342
342
 
@@ -384,7 +384,7 @@ class DefaultValueSerializer(ValueSerializer):
384
384
  for field in fields(value):
385
385
  if field.name[0] == '_' and not hasattr(field.type,
386
386
  '__origin__') or field.type.__origin__ is not ClassVar:
387
- encoder.encode_string(field.name[1:])
387
+ encoder.encode_string(to_java_field_name(field))
388
388
  context.serialize(getattr(value, field.name), None, encoder)
389
389
  encoder.write(BREAK_MARKER)
390
390
  else:
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ from dataclasses import Field
2
3
  from functools import lru_cache
3
4
  from typing import Type
4
5
 
@@ -41,6 +42,8 @@ def to_java_type_name(t: typing.Type) -> str:
41
42
  return 'org.openrewrite.python.tree.PyRightPadded'
42
43
  if t.__name__ == 'PyContainer':
43
44
  return 'org.openrewrite.python.tree.PyContainer'
45
+ if t.__module__.startswith('rewrite.python.markers'):
46
+ return 'org.openrewrite.python.marker.' + t.__qualname__
44
47
  if t.__module__.startswith('rewrite.python.tree'):
45
48
  return 'org.openrewrite.python.tree.Py$' + t.__qualname__.replace('.', '$')
46
49
  if t.__module__.startswith('rewrite.marker'):
@@ -56,5 +59,20 @@ def to_java_type_name(t: typing.Type) -> str:
56
59
  # raise NotImplementedError("to_java_type_name: " + str(o))
57
60
 
58
61
 
62
+ @lru_cache(maxsize=None)
63
+ def to_java_field_name(field: Field) -> str:
64
+ return __convert_snake_to_camel(field.name[1:])
65
+
66
+
67
+ def __convert_snake_to_camel(field_name: str) -> str:
68
+ # Remove leading underscore
69
+ if field_name.startswith('_'):
70
+ field_name = field_name[1:]
71
+
72
+ # Convert snake case to camel case
73
+ components = field_name.split('_')
74
+ return components[0] + ''.join(x.capitalize() for x in components[1:])
75
+
76
+
59
77
  def get_type(type_name: str) -> Type:
60
78
  raise NotImplementedError("get_type for: " + type_name)