Allow absent price

Mark Veidemanis 2 years ago
parent f6b5652268
commit 46bba54cb7
Signed by: m
GPG Key ID: 5ACFCEED46C0904F

@ -17,6 +17,6 @@ class DrakdooCallback(BaseModel):
title: str
message: str
period: str
price: str
price: str | None
market: DrakdooMarket
timestamp: DrakdooTimestamp

@ -1,4 +1,4 @@
# import re
import re
import orjson
from django.contrib.auth.mixins import LoginRequiredMixin
@ -17,16 +17,16 @@ from core.views import ObjectCreate, ObjectDelete, ObjectList, ObjectUpdate
log = logs.get_logger(__name__)
# def extract_price(message):
# result = re.findall("\d+\.\d+", message) # noqa
# if len(result) != 1:
# log.error(f"Could not extract price from message: {message}")
# return False
# try:
# log.debug(f"Extracted {result[0]} from '{message}'")
# return float(result[0])
# except ValueError:
# return False
def extract_price(message):
result = re.findall("\d+\.\d+", message) # noqa
if len(result) != 1:
log.error(f"Could not extract price from message: {message}")
return False
try:
log.debug(f"Extracted {result[0]} from '{message}'")
return float(result[0])
except ValueError:
return False
class HookAPI(APIView):
@ -48,15 +48,20 @@ class HookAPI(APIView):
log.error(f"HookAPI POST: {e}")
return HttpResponseBadRequest(e)
# price = extract_price(hook_resp.message)
# if not price:
# log.debug(f"Could not extract price from message: {hook_resp.message}")
# return HttpResponseBadRequest("Could not extract price from message")
try:
price = float(hook_resp.market.price)
except ValueError:
log.debug(f"Could not extract price from message: {hook_resp.market.price}")
return HttpResponseBadRequest("Could not extract price from message")
if hasattr(hook_resp, "market.price"):
try:
price = float(hook_resp.market.price)
except ValueError:
log.debug(
f"Could not extract price from message: {hook_resp.market.price}"
)
return HttpResponseBadRequest("Could not extract price from message")
else:
price = extract_price(hook_resp.message)
if not price:
log.debug(f"Could not extract price from message: {hook_resp.message}")
return HttpResponseBadRequest("Could not extract price from message")
base = hook_resp.market.item
quote = hook_resp.market.currency
symbol = f"{base.upper()}/{quote.upper()}"

Loading…
Cancel
Save