mirror of
https://github.com/aljazceru/nostrdvm.git
synced 2025-12-24 01:14:24 +01:00
fixes, allow sats below 1
This commit is contained in:
Binary file not shown.
5
.gitignore
vendored
5
.gitignore
vendored
@@ -160,3 +160,8 @@ cython_debug/
|
||||
#.idea/
|
||||
.DS_Store
|
||||
*.db
|
||||
outputs/yt.mp3
|
||||
.\outputs\audio.mp3
|
||||
.\outputs\/yt.mp3
|
||||
.\outputs\audio.mp3
|
||||
.\outputs\/yt.mp3
|
||||
|
||||
12
dvm.py
12
dvm.py
@@ -115,7 +115,7 @@ class DVM:
|
||||
|
||||
cashu_redeemed = False
|
||||
if cashu != "":
|
||||
cashu_redeemed, cashu_message = redeem_cashu(cashu, amount, self.dvm_config, self.client)
|
||||
cashu_redeemed, cashu_message = redeem_cashu(cashu, int(amount), self.dvm_config, self.client)
|
||||
if cashu_message != "success":
|
||||
send_job_status_reaction(nip90_event, "error", False, amount, self.client, cashu_message,
|
||||
self.dvm_config)
|
||||
@@ -132,8 +132,8 @@ class DVM:
|
||||
do_work(nip90_event)
|
||||
# if task is directed to us via p tag and user has balance, do the job and update balance
|
||||
elif p_tag_str == Keys.from_sk_str(
|
||||
self.dvm_config.PUBLIC_KEY) and user.balance >= amount:
|
||||
balance = max(user.balance - amount, 0)
|
||||
self.dvm_config.PUBLIC_KEY) and user.balance >= int(amount):
|
||||
balance = max(user.balance - int(amount), 0)
|
||||
update_sql_table(db=self.dvm_config.DB, npub=user.npub, balance=balance,
|
||||
iswhitelisted=user.iswhitelisted, isblacklisted=user.isblacklisted,
|
||||
nip05=user.nip05, lud16=user.lud16, name=user.name,
|
||||
@@ -160,9 +160,9 @@ class DVM:
|
||||
+ nip90_event.as_json())
|
||||
if bid > 0:
|
||||
bid_offer = int(bid / 1000)
|
||||
if bid_offer >= amount:
|
||||
if bid_offer >= int(amount):
|
||||
send_job_status_reaction(nip90_event, "payment-required", False,
|
||||
amount, # bid_offer
|
||||
int(amount), # bid_offer
|
||||
client=self.client, dvm_config=self.dvm_config)
|
||||
|
||||
else: # If there is no bid, just request server rate from user
|
||||
@@ -170,7 +170,7 @@ class DVM:
|
||||
"[" + self.dvm_config.NIP89.name + "] Requesting payment for Event: " +
|
||||
nip90_event.id().to_hex())
|
||||
send_job_status_reaction(nip90_event, "payment-required",
|
||||
False, amount, client=self.client, dvm_config=self.dvm_config)
|
||||
False, int(amount), client=self.client, dvm_config=self.dvm_config)
|
||||
|
||||
# else:
|
||||
# print("[" + self.dvm_config.NIP89.name + "] Task " + task + " not supported on this DVM, skipping..")
|
||||
|
||||
@@ -13,7 +13,7 @@ class DVMTaskInterface:
|
||||
NAME: str
|
||||
KIND: int
|
||||
TASK: str
|
||||
COST: int
|
||||
COST: float
|
||||
PRIVATE_KEY: str
|
||||
PUBLIC_KEY: str
|
||||
DVM = DVM
|
||||
|
||||
@@ -25,7 +25,7 @@ Params: -model # models: juggernaut, dynavision, colossusProject, newrea
|
||||
class ImageGenerationDALLE(DVMTaskInterface):
|
||||
KIND: int = EventDefinitions.KIND_NIP90_GENERATE_IMAGE
|
||||
TASK: str = "text-to-image"
|
||||
COST: int = 120
|
||||
COST: float = 120
|
||||
|
||||
def __init__(self, name, dvm_config: DVMConfig, nip89config: NIP89Config,
|
||||
admin_config: AdminConfig = None, options=None):
|
||||
|
||||
@@ -21,7 +21,7 @@ Params: -model # models: juggernaut, dynavision, colossusProject, newrea
|
||||
class ImageGenerationSDXL(DVMTaskInterface):
|
||||
KIND: int = EventDefinitions.KIND_NIP90_GENERATE_IMAGE
|
||||
TASK: str = "text-to-image"
|
||||
COST: int = 50
|
||||
COST: float = 50
|
||||
|
||||
def __init__(self, name, dvm_config: DVMConfig, nip89config: NIP89Config,
|
||||
admin_config: AdminConfig = None, options=None):
|
||||
|
||||
@@ -25,7 +25,7 @@ Params: -model # models: juggernaut, dynavision, colossusProject, newrea
|
||||
class SpeechToTextWhisperX(DVMTaskInterface):
|
||||
KIND: int = EventDefinitions.KIND_NIP90_EXTRACT_TEXT
|
||||
TASK: str = "speech-to-text"
|
||||
COST: int = 1
|
||||
COST: float = 0.1
|
||||
|
||||
def __init__(self, name, dvm_config: DVMConfig, nip89config: NIP89Config,
|
||||
admin_config: AdminConfig = None, options=None):
|
||||
|
||||
@@ -23,7 +23,7 @@ Params: None
|
||||
class TextExtractionPDF(DVMTaskInterface):
|
||||
KIND: int = EventDefinitions.KIND_NIP90_EXTRACT_TEXT
|
||||
TASK: str = "pdf-to-text"
|
||||
COST: int = 0
|
||||
COST: float = 0
|
||||
|
||||
def __init__(self, name, dvm_config: DVMConfig, nip89config: NIP89Config,
|
||||
admin_config: AdminConfig = None, options=None):
|
||||
|
||||
@@ -21,7 +21,7 @@ Params: -language The target language
|
||||
class Translation(DVMTaskInterface):
|
||||
KIND: int = EventDefinitions.KIND_NIP90_TRANSLATE_TEXT
|
||||
TASK: str = "translation"
|
||||
COST: int = 0
|
||||
COST: float = 0
|
||||
|
||||
def __init__(self, name, dvm_config: DVMConfig, nip89config: NIP89Config,
|
||||
admin_config: AdminConfig = None, options=None):
|
||||
|
||||
@@ -149,7 +149,7 @@ def get_amount_per_task(task, dvm_config, duration=1):
|
||||
duration = 1
|
||||
for dvm in dvm_config.SUPPORTED_DVMS: # this is currently just one
|
||||
if dvm.TASK == task:
|
||||
amount = dvm.COST * int(duration)
|
||||
amount = dvm.COST * duration
|
||||
return amount
|
||||
else:
|
||||
print("[" + dvm_config.SUPPORTED_DVMS[
|
||||
|
||||
@@ -9,6 +9,7 @@ from utils.nostr_utils import get_event_by_id
|
||||
|
||||
|
||||
def input_data_file_duration(event, dvm_config, client, start=0, end=0):
|
||||
print("[" + dvm_config.NIP89.name + "] Getting Duration of the Media file..")
|
||||
input_value = ""
|
||||
input_type = "url"
|
||||
for tag in event.tags():
|
||||
@@ -228,7 +229,7 @@ def get_Twitter(input_value, start, end):
|
||||
|
||||
|
||||
def get_youtube(input_value, start, end, audioonly=True):
|
||||
filepath = '.\\outputs\\'
|
||||
filepath = os.path.abspath(os.curdir) + r'/outputs/'
|
||||
filename = ""
|
||||
try:
|
||||
filename = downloadYouTube(input_value, filepath, audioonly)
|
||||
|
||||
Reference in New Issue
Block a user