Skip to content

Commit

Permalink
better error handling from venvs
Browse files Browse the repository at this point in the history
  • Loading branch information
believethehype committed Dec 30, 2023
1 parent d2fbeb7 commit 0c2ee4e
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 11 deletions.
12 changes: 12 additions & 0 deletions .idea/dataSources.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion nostr_dvm/bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ def handle_nip90_feedback(nostr_event):
client=self.client, config=self.dvm_config)
time.sleep(2.0)
reply_event = EventBuilder.new_encrypted_direct_msg(self.keys,
PublicKey.from_hex(user.npub),
PublicKey.from_hex(entry['npub']),
content,
None).to_event(self.keys)
print(status + ": " + content)
Expand Down
10 changes: 5 additions & 5 deletions nostr_dvm/dvm.py
Original file line number Diff line number Diff line change
Expand Up @@ -469,6 +469,7 @@ def do_work(job_event, amount):
task = get_task(job_event, client=self.client, dvm_config=self.dvm_config)

for dvm in self.dvm_config.SUPPORTED_DVMS:
result = ""
try:
if task == dvm.TASK:

Expand All @@ -488,13 +489,13 @@ def do_work(job_event, amount):

with open(os.path.abspath('output.txt')) as f:
resultall = f.readlines()
result = ""
for line in resultall:
if line != '\n':
result += line
os.remove(os.path.abspath('output.txt'))
if result.startswith("Error:"):
raise Exception
assert not result.startswith("Error:")
print(result)

else: # Some components might have issues with running code in otuside venv.
# We install locally in these cases for now
result = dvm.process(request_form)
Expand All @@ -505,9 +506,8 @@ def do_work(job_event, amount):
send_job_status_reaction(job_event, "error", content=str(e),
dvm_config=self.dvm_config)
except Exception as e:
print(e)
# we could send the exception here to the user, but maybe that's not a good idea after all.
send_job_status_reaction(job_event, "error", content="An error occurred",
send_job_status_reaction(job_event, "error", content=result,
dvm_config=self.dvm_config)
# Zapping back the user on error
if amount > 0 and self.dvm_config.LNBITS_ADMIN_KEY != "":
Expand Down
1 change: 0 additions & 1 deletion nostr_dvm/interfaces/dvmtaskinterface.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,5 +146,4 @@ def process_venv(identifier):
DVMTaskInterface.write_output(result, args.output)
except Exception as e:
DVMTaskInterface.write_output("Error: " + str(e), args.output)
raise Exception

6 changes: 3 additions & 3 deletions nostr_dvm/tasks/imagegeneration_openai_dalle.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,9 @@ def process(self, request_form):
return result

except Exception as e:
print("Error in Module")
raise Exception(e)

if str(e).startswith("Error code: 400"):
raise Exception('Your request was rejected as a result of OpenAI´s safety system. Your prompt may '
'contain text that is not allowed by their safety system.')

# We build an example here that we can call by either calling this file directly from the main directory,
# or by adding it to our playground. You can call the example and adjust it to your needs or redefine it in the
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from setuptools import setup, find_packages

VERSION = '0.1.4'
VERSION = '0.1.5'
DESCRIPTION = 'A framework to build and run Nostr NIP90 Data Vending Machines'
LONG_DESCRIPTION = ('A framework to build and run Nostr NIP90 Data Vending Machines. '
'This is an early stage release. Interfaces might change/brick')
Expand Down

0 comments on commit 0c2ee4e

Please sign in to comment.