openrewrite-remote 0.18.1__tar.gz → 0.18.2__tar.gz
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.
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/PKG-INFO +1 -1
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/openrewrite_remote.egg-info/PKG-INFO +1 -1
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/openrewrite_remote.egg-info/SOURCES.txt +1 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/pyproject.toml +1 -1
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/list_projects_handler.py +6 -6
- openrewrite_remote-0.18.2/rewrite_remote/handlers/parse_source_handler.py +49 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/recipe_install_handler.py +9 -10
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/run_recipe_load_and_visitor_handler.py +15 -11
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/server.py +10 -1
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/README.md +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/openrewrite_remote.egg-info/dependency_links.txt +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/openrewrite_remote.egg-info/entry_points.txt +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/openrewrite_remote.egg-info/requires.txt +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/openrewrite_remote.egg-info/top_level.txt +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/__init__.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/client.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/event.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/__init__.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/handler_helpers.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/hello_world_handler.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/parse_project_sources_handler.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/project_helper.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/pypi_manager.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/types.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/receiver.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/remote_utils.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/remoting.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/sender.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/type_utils.py +0 -0
- {openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/setup.cfg +0 -0
{openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/openrewrite_remote.egg-info/SOURCES.txt
RENAMED
@@ -20,6 +20,7 @@ rewrite_remote/handlers/handler_helpers.py
|
|
20
20
|
rewrite_remote/handlers/hello_world_handler.py
|
21
21
|
rewrite_remote/handlers/list_projects_handler.py
|
22
22
|
rewrite_remote/handlers/parse_project_sources_handler.py
|
23
|
+
rewrite_remote/handlers/parse_source_handler.py
|
23
24
|
rewrite_remote/handlers/project_helper.py
|
24
25
|
rewrite_remote/handlers/pypi_manager.py
|
25
26
|
rewrite_remote/handlers/recipe_install_handler.py
|
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
|
|
5
5
|
[project]
|
6
6
|
name = "openrewrite-remote"
|
7
7
|
description = "Remoting functionality for the OpenRewrite library."
|
8
|
-
version = "0.18.
|
8
|
+
version = "0.18.2" # Updated dynamically during release
|
9
9
|
authors = [{ name = "Moderne Inc.", email = "support@moderne.io" }]
|
10
10
|
license = { text = "Moderne, Inc. Commercial License" }
|
11
11
|
dependencies = [
|
@@ -54,11 +54,11 @@ def list_projects_handler(
|
|
54
54
|
)
|
55
55
|
|
56
56
|
# 5. Write response to stream
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
sock.sendall(
|
57
|
+
response_data = BytesIO()
|
58
|
+
response_data.write(dumps(RemotingMessageType.Response))
|
59
|
+
response_data.write(dumps(OK))
|
60
|
+
response_data.write(dumps(project_config_files))
|
61
|
+
response_data.write(COMMAND_END)
|
62
|
+
sock.sendall(response_data.getvalue())
|
63
63
|
|
64
64
|
logger.info("Request completed.")
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import logging
|
2
|
+
import socket
|
3
|
+
from io import BytesIO, StringIO
|
4
|
+
from pathlib import Path
|
5
|
+
|
6
|
+
import cbor2
|
7
|
+
from rewrite import (
|
8
|
+
ExecutionContext,
|
9
|
+
InMemoryExecutionContext,
|
10
|
+
ParserInput,
|
11
|
+
)
|
12
|
+
from rewrite.python.parser import PythonParserBuilder
|
13
|
+
|
14
|
+
from rewrite_remote.remote_utils import COMMAND_END
|
15
|
+
from rewrite_remote.remoting import (
|
16
|
+
OK,
|
17
|
+
RemotingContext,
|
18
|
+
RemotingMessageType,
|
19
|
+
)
|
20
|
+
|
21
|
+
logger = logging.getLogger("parse_source_handler")
|
22
|
+
logger.setLevel(logging.DEBUG)
|
23
|
+
|
24
|
+
|
25
|
+
def parse_source_handler(
|
26
|
+
stream: BytesIO, sock: socket.socket, remoting_ctx: RemotingContext
|
27
|
+
) -> None:
|
28
|
+
remoting_ctx.reset()
|
29
|
+
|
30
|
+
# Read input from stream
|
31
|
+
parser = PythonParserBuilder().build()
|
32
|
+
source = cbor2.load(stream)
|
33
|
+
ctx = InMemoryExecutionContext()
|
34
|
+
ctx.put_message(ExecutionContext.REQUIRE_PRINT_EQUALS_INPUT, False)
|
35
|
+
for cu in parser.parse_inputs(
|
36
|
+
[ParserInput(Path("source.py"), None, True, lambda: StringIO(source))],
|
37
|
+
None,
|
38
|
+
ctx,
|
39
|
+
):
|
40
|
+
response_stream = BytesIO()
|
41
|
+
cbor2.dump(RemotingMessageType.Response, response_stream)
|
42
|
+
cbor2.dump(OK, response_stream)
|
43
|
+
source_stream = BytesIO()
|
44
|
+
remoting_ctx.new_sender_context(source_stream).send_any_tree(cu, None)
|
45
|
+
cbor2.dump(source_stream.getvalue(), response_stream)
|
46
|
+
cbor2.dump(COMMAND_END, response_stream)
|
47
|
+
sock.sendall(response_stream.getvalue())
|
48
|
+
|
49
|
+
logger.info("Request completed.")
|
@@ -84,14 +84,12 @@ def recipe_install_handler(
|
|
84
84
|
return
|
85
85
|
|
86
86
|
# 2. Log the request
|
87
|
-
logger.info(
|
88
|
-
f"""Handling install-recipe request: {{
|
87
|
+
logger.info(f"""Handling install-recipe request: {{
|
89
88
|
packageId: {package_id},
|
90
89
|
packageVersion: {package_version},
|
91
90
|
packageSources: {package_sources},
|
92
91
|
includeDefaultRepository: {include_default_repository},
|
93
|
-
}}"""
|
94
|
-
)
|
92
|
+
}}""")
|
95
93
|
|
96
94
|
# 3. Validate sources
|
97
95
|
sources: List[Source] = [
|
@@ -143,11 +141,12 @@ def recipe_install_handler(
|
|
143
141
|
}
|
144
142
|
|
145
143
|
# Encode the response using CBOR
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
144
|
+
response_data = BytesIO()
|
145
|
+
response_data.write(dumps(RemotingMessageType.Response))
|
146
|
+
response_data.write(dumps(OK))
|
147
|
+
response_data.write(dumps(response))
|
148
|
+
response_data.write(COMMAND_END)
|
149
|
+
|
150
|
+
sock.sendall(response_data.getvalue())
|
152
151
|
|
153
152
|
logger.info("Request completed.")
|
@@ -18,6 +18,7 @@ from rewrite_remote.handlers.handler_helpers import respond_with_error
|
|
18
18
|
|
19
19
|
from rewrite import InMemoryExecutionContext
|
20
20
|
|
21
|
+
|
21
22
|
logger = logging.getLogger("run_recipe_load_and_visitor_handler")
|
22
23
|
logger.setLevel(logging.DEBUG)
|
23
24
|
|
@@ -71,13 +72,11 @@ def run_recipe_load_and_visitor_handler(
|
|
71
72
|
return
|
72
73
|
|
73
74
|
# Log the request
|
74
|
-
logger.info(
|
75
|
-
f"""Handling run-recipe-load-and-visitor request: {{
|
75
|
+
logger.info(f"""Handling run-recipe-load-and-visitor request: {{
|
76
76
|
recipe_name: {recipe_name},
|
77
77
|
recipe_source: {recipe_source},
|
78
78
|
recipe_options: {recipe_options},
|
79
|
-
}}"""
|
80
|
-
)
|
79
|
+
}}""")
|
81
80
|
|
82
81
|
# Receive the tree
|
83
82
|
if not hasattr(RemotingMessenger, "_state"):
|
@@ -89,7 +88,7 @@ def run_recipe_load_and_visitor_handler(
|
|
89
88
|
received = None
|
90
89
|
try:
|
91
90
|
received = RemotingMessenger.receive_tree(
|
92
|
-
RemotingMessenger,
|
91
|
+
RemotingMessenger, decoder, RemotingMessenger._state
|
93
92
|
)
|
94
93
|
except Exception as e:
|
95
94
|
# logging.error(f"Failed to receive tree: {e}")
|
@@ -123,12 +122,17 @@ def run_recipe_load_and_visitor_handler(
|
|
123
122
|
|
124
123
|
# 5. Write the response
|
125
124
|
response_encoder = BytesIO()
|
126
|
-
RemotingMessenger.send_tree(
|
125
|
+
RemotingMessenger.send_tree(
|
126
|
+
RemotingMessenger, response_encoder, RemotingMessenger._state, received
|
127
|
+
)
|
128
|
+
|
129
|
+
response_data = BytesIO()
|
130
|
+
response_data.write(dumps(RemotingMessageType.Response))
|
131
|
+
response_data.write(dumps(OK))
|
132
|
+
|
133
|
+
response_data.write(response_encoder.getvalue())
|
127
134
|
|
128
|
-
|
129
|
-
encoded_response += dumps(RemotingMessageType.Response)
|
130
|
-
encoded_response += dumps(OK)
|
131
|
-
encoded_response += COMMAND_END
|
132
|
-
sock.sendall(encoded_response)
|
135
|
+
response_data.write(COMMAND_END)
|
133
136
|
|
137
|
+
sock.sendall(response_data.getvalue())
|
134
138
|
logger.info("Request completed.")
|
@@ -3,7 +3,6 @@ import importlib
|
|
3
3
|
import importlib.resources
|
4
4
|
import logging
|
5
5
|
import os
|
6
|
-
import select
|
7
6
|
import socket
|
8
7
|
import sys
|
9
8
|
import time
|
@@ -25,6 +24,12 @@ from rewrite_remote.handlers.recipe_install_handler import (
|
|
25
24
|
from rewrite_remote.handlers.run_recipe_load_and_visitor_handler import (
|
26
25
|
run_recipe_load_and_visitor_handler,
|
27
26
|
)
|
27
|
+
|
28
|
+
from rewrite_remote.handlers.parse_source_handler import (
|
29
|
+
parse_source_handler,
|
30
|
+
)
|
31
|
+
|
32
|
+
from rewrite_remote.remote_utils import COMMAND_END
|
28
33
|
from rewrite_remote.remoting import (
|
29
34
|
RemotePrinterFactory,
|
30
35
|
RemotingContext,
|
@@ -102,6 +107,8 @@ class Server:
|
|
102
107
|
{
|
103
108
|
"parse-python-source": self.parse_python_source,
|
104
109
|
"parse-python-file": self.parse_python_file,
|
110
|
+
"parse-source": parse_source_handler,
|
111
|
+
"parse-file": self.parse_python_file,
|
105
112
|
"hello-world": hello_world_handler,
|
106
113
|
"recipe-install": recipe_install_handler,
|
107
114
|
"run-recipe-load-and-visitor": run_recipe_load_and_visitor_handler,
|
@@ -202,6 +209,7 @@ class Server:
|
|
202
209
|
source_stream = BytesIO()
|
203
210
|
remoting_ctx.new_sender_context(source_stream).send_any_tree(cu, None)
|
204
211
|
cbor2.dump(source_stream.getvalue(), response_stream)
|
212
|
+
cbor2.dump(COMMAND_END, response_stream)
|
205
213
|
sock.sendall(response_stream.getvalue())
|
206
214
|
|
207
215
|
def parse_python_file(
|
@@ -236,6 +244,7 @@ class Server:
|
|
236
244
|
source_stream = BytesIO()
|
237
245
|
remoting_ctx.new_sender_context(source_stream).send_any_tree(cu, None)
|
238
246
|
cbor2.dump(source_stream.getvalue(), response_stream)
|
247
|
+
cbor2.dump(COMMAND_END, response_stream)
|
239
248
|
sock.sendall(response_stream.getvalue())
|
240
249
|
|
241
250
|
|
File without changes
|
File without changes
|
{openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/openrewrite_remote.egg-info/entry_points.txt
RENAMED
File without changes
|
{openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/openrewrite_remote.egg-info/requires.txt
RENAMED
File without changes
|
{openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/openrewrite_remote.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/handler_helpers.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/project_helper.py
RENAMED
File without changes
|
{openrewrite_remote-0.18.1 → openrewrite_remote-0.18.2}/rewrite_remote/handlers/pypi_manager.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|