Skip to content

Commit

Permalink
fix: Resolved different type of value in dump operation problems
Browse files Browse the repository at this point in the history
  • Loading branch information
onuratakan committed Sep 17, 2024
1 parent 0b4365b commit d17e294
Showing 1 changed file with 53 additions and 17 deletions.
70 changes: 53 additions & 17 deletions upsonic/remote/on_prem.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,35 @@ def extract_needed_libraries(func, debug=False):
return result


def extract_source(obj, debug=False):
the_source = dill.source.findsource(obj)[0]
print(the_source) if debug else None
my_source = ""
for each in the_source:
my_source += each



def extract_source(obj, key=None, debug=False):
result = None
try:
result = inspect.getsource(obj)
except:
try:
result = dill.source.getsource(obj)
except:
pass

if result == None:
try:
value = None
if isinstance(obj, str):
value = '"'+str(obj)+'"'
else:
value = str(obj)
result = key.split(".")[-1] + "=" + value
except:
traceback.print_exc()


if result == None:
my_source = "Error on extracting source"
else:
my_source = result
return my_source


Expand Down Expand Up @@ -653,6 +675,26 @@ def get_lock(self, key):
return lock

def set(self, key, value, message=None):


if isinstance(value, str):
pass
elif isinstance(value, int):
pass
elif isinstance(value, float):
pass
elif callable(value):
pass
else:
self._log("Error: Upsonic only supports string, integer, float, and functions.")
return False







if key.startswith("."):
self._log("Error: The key can not start with '.'")
return False
Expand Down Expand Up @@ -683,7 +725,7 @@ def set(self, key, value, message=None):

encryption_key = "u"

the_code = textwrap.dedent(self.extract_source(value))
the_code = textwrap.dedent(extract_source(value, key=key))

the_requirements = Upsonic_On_Prem.export_requirement()
the_original_requirements = ""
Expand Down Expand Up @@ -772,7 +814,7 @@ def set(self, key, value, message=None):

try:
the_engine_reports["extract_source"] = fernet.encrypt(
pickle.dumps(extract_source(value, self.tester), protocol=1)
pickle.dumps(extract_source(value, debug=self.tester, key=key), protocol=1)
)
except:
if self.tester:
Expand Down Expand Up @@ -1187,13 +1229,7 @@ def ai_completion(self, message, model=None):
def get_all_scopes_user(self):
return self._send_request("GET", "/get_all_scopes_user")

def extract_source(self, value):
result = ""
try:
result = inspect.getsource(value)
except:
result = dill.source.getsource(value)
return result


def auto_dump(
self, value, ask=True, check_function=True, print_prompts=False, model=None
Expand All @@ -1210,7 +1246,7 @@ def auto_dump(
print("Check:", check)
return

code = textwrap.dedent(self.extract_source(value))
code = textwrap.dedent(extract_source(value))
all_scopes = self.get_all_scopes_user()
all_scopes = "\n".join(all_scopes)

Expand Down Expand Up @@ -1286,7 +1322,7 @@ def get_document(self, scope, version=None):
return self._send_request("POST", "/get_document_of_scope", data)

def check_function(self, value, print_prompts=False, model=None):
code = textwrap.dedent(self.extract_source(value))
code = textwrap.dedent(extract_source(value))

all_scopes_ = self.get_all_scopes_user()
all_scopes = ""
Expand Down

0 comments on commit d17e294

Please sign in to comment.