fixed an issue with nrItems

This commit is contained in:
Oliver Hartmann 2023-01-03 21:57:16 +01:00
parent d24d53116f
commit bc520acae1

View File

@ -50,7 +50,7 @@ channel_mapping = {'#': Channel.GLOBAL,
class Trade():
def __init__(self,
nrItems: str,
nrItems: int,
item: str,
amount: float,
currency: str,
@ -69,7 +69,12 @@ class Trade():
@classmethod
def by_regex_result(cls, res):
return cls(nrItems=res['nrItems'],
if 'nrItems' in res.groupdict():
nrItems = int(res['nrItems'])
else:
# If no number is specified we only search for one item
nrItems = 1
return cls(nrItems=nrItems,
item=res['item'],
amount=int(res['amount']),
currency=res['currency'],
@ -130,11 +135,4 @@ class Message():
def parse_trade(self) -> None:
res = re_trade.search(self.message)
if res:
self.trade = Trade(nrItems=res['nrItems'],
item=res['item'],
amount=float(res['amount']),
currency=res['currency'],
tab=res['tab'],
row=res['row'],
col=res['col'],
league=res['league'])
self.trade = Trade.by_regex_result(res)