Skip to content

Commit 9b64711

Browse files
committed
remove local proxy client, just client
1 parent ae6a437 commit 9b64711

4 files changed

Lines changed: 27 additions & 54 deletions

File tree

src/datacustomcode/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from datacustomcode.credentials import AuthType, Credentials
1818
from datacustomcode.io.reader.query_api import QueryAPIDataCloudReader
1919
from datacustomcode.io.writer.print import PrintDataCloudWriter
20-
from datacustomcode.proxy.client.local_proxy_client import LocalProxyClientProvider
20+
from datacustomcode.proxy.client.client import LocalProxyClientProvider
2121

2222
__all__ = [
2323
"AuthType",

src/datacustomcode/client.py

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from __future__ import annotations
1616

1717
from enum import Enum
18-
import pprint
18+
import importlib
1919
from typing import (
2020
TYPE_CHECKING,
2121
ClassVar,
@@ -110,38 +110,31 @@ class Client:
110110
_file: DefaultFindFilePath
111111
_proxy: Optional[BaseProxyClient]
112112
_data_layer_history: dict[DataCloudObjectType, set[str]]
113+
_code_type: str
113114

114115
def __new__(
115116
cls,
116117
reader: Optional[BaseDataCloudReader] = None,
117118
writer: Optional["BaseDataCloudWriter"] = None,
118119
proxy: Optional[BaseProxyClient] = None,
119120
spark_provider: Optional["BaseSparkSessionProvider"] = None,
121+
code_type: str = "script",
120122
) -> Client:
121-
print("Chuy client start 2 config:")
122-
pprint.pprint(str(config), indent=4)
123+
print(f"Chuy client new client: {code_type}")
124+
if "function" in code_type:
125+
print("Chuy111 client new function client")
126+
return cls._new_function_client()
123127

124128
if cls._instance is None:
125129
cls._instance = super().__new__(cls)
126-
127-
print("Chuy client here")
128-
129130
# Initialize Readers and Writers from config
130131
# and/or provided reader and writer
131132
if reader is None or writer is None:
132133
# We need a spark because we will initialize readers and writers
133134
if config.spark_config is None:
134-
# Assume BYOC Function
135-
# cls._instance._reader = None
136-
# cls._instance._writer = None
137-
cls._instance._file = DefaultFindFilePath()
138-
# cls._instance._data_layer_history = None
139-
cls._instance._proxy = (
140-
config.proxy_config.to_object() # type: ignore
141-
if config.proxy_config is not None
142-
else None
135+
raise ValueError(
136+
"Spark config is required when reader/writer is not provided"
143137
)
144-
return cls._instance
145138

146139
provider: BaseSparkSessionProvider
147140
if spark_provider is not None:
@@ -173,15 +166,9 @@ def __new__(
173166
writer_init = config.writer_config.to_object(spark) # type: ignore
174167
else:
175168
writer_init = writer
176-
proxy_init: Optional["BaseProxyClient"] = None
177-
if proxy is not None:
178-
proxy_init = proxy
179-
elif config.proxy_config is not None:
180-
proxy_init = config.proxy_config.to_object() # type: ignore
181169

182170
cls._instance._reader = reader_init
183171
cls._instance._writer = writer_init
184-
cls._instance._proxy = proxy_init
185172
cls._instance._file = DefaultFindFilePath()
186173
cls._instance._data_layer_history = {
187174
DataCloudObjectType.DLO: set(),
@@ -191,6 +178,22 @@ def __new__(
191178
raise ValueError("Cannot set reader or writer after client is initialized")
192179
return cls._instance
193180

181+
@classmethod
182+
def _new_function_client(cls) -> Client:
183+
print(f"Chuy config: {config}")
184+
185+
importlib.import_module(
186+
"datacustomcoderemote.proxy.client.client.ProxyClientProvider"
187+
)
188+
189+
cls._instance = super().__new__(cls)
190+
cls._instance._proxy = (
191+
config.proxy_config.to_object() # type: ignore
192+
if config.proxy_config is not None
193+
else None
194+
)
195+
return cls._instance
196+
194197
def read_dlo(self, name: str) -> PySparkDataFrame:
195198
"""Read a DLO from Data Cloud.
196199

src/datacustomcode/config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ spark_config:
1919
spark.driver.extraJavaOptions: -Djava.security.manager=allow
2020

2121
proxy_config:
22-
type_config_name: LocalProxyClient
22+
type_config_name: LocalProxyClientProvider
2323
options:
2424
credentials_profile: default

src/datacustomcode/proxy/client/local_proxy_client.py

Lines changed: 0 additions & 30 deletions
This file was deleted.

0 commit comments

Comments
 (0)