Support currency trade
This commit is contained in:
parent
fcf65b7c10
commit
6e99de90a6
@ -12,4 +12,4 @@ Chat:
|
|||||||
sold: 'Sorry, {item} is already sold'
|
sold: 'Sorry, {item} is already sold'
|
||||||
Parser:
|
Parser:
|
||||||
re_log: '(?P<date>\d\d\d\d/\d\d/\d\d \d\d:\d\d:\d\d) (\d+) (\S+) \[(?P<level>\S+) (\S+) (\d+)\] (?P<channel>[#@%$&]?)(?P<ToFrom>To|From)?\s?(?P<guild><\S+>)? ?(?P<user>[^:]+): (?P<message>.*)'
|
re_log: '(?P<date>\d\d\d\d/\d\d/\d\d \d\d:\d\d:\d\d) (\d+) (\S+) \[(?P<level>\S+) (\S+) (\d+)\] (?P<channel>[#@%$&]?)(?P<ToFrom>To|From)?\s?(?P<guild><\S+>)? ?(?P<user>[^:]+): (?P<message>.*)'
|
||||||
re_trade: 'Hi, I would like to buy your (?P<item>.+) listed for (?P<amount>\d+) (?P<currency>\S+) in (?P<league>\S+) \(stash tab "(?P<tab>.+)"; position: left (?P<col>\d+), top (?P<row>\d+)\)'
|
re_trade: 'Hi, I would like to buy your ?(?P<nrItems>\d*) (?P<item>.+) (listed )?for (my )?(?P<amount>\d+) (?P<currency>\D+) in (?P<league>\w+)\.?( \(stash tab "(?P<tab>.+)"; position: left (?P<col>\d+), top (?P<row>\d+)\))?'
|
||||||
|
19
src/data.py
19
src/data.py
@ -43,23 +43,25 @@ channel_mapping = {'#': Channel.GLOBAL,
|
|||||||
|
|
||||||
class Trade():
|
class Trade():
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
|
nrItems: str,
|
||||||
item: str,
|
item: str,
|
||||||
amount: int,
|
amount: int,
|
||||||
currency: str,
|
currency: str,
|
||||||
tab: str,
|
tab: str,
|
||||||
row: int,
|
row: str,
|
||||||
col: int,
|
col: str,
|
||||||
league: str) -> None:
|
league: str) -> None:
|
||||||
|
self.nrItems = int(nrItems) if nrItems else None
|
||||||
self.item = item
|
self.item = item
|
||||||
self.amount = amount
|
self.amount = amount
|
||||||
self.currency = currency
|
self.currency = currency
|
||||||
self.tab = tab
|
self.tab = tab
|
||||||
self.row = row
|
self.row = int(row) if row else None
|
||||||
self.col = col
|
self.col = int(col) if col else None
|
||||||
self.league = league
|
self.league = league
|
||||||
|
|
||||||
def __str__(self) -> str:
|
def __str__(self) -> str:
|
||||||
return f'Trade: {self.item} for {self.amount} {self.currency} in {self.tab} ({self.row}/{self.col}) in {self.league} league'
|
return f'Trade: {self.nrItems} {self.item} for {self.amount} {self.currency} in {self.tab} ({self.row}/{self.col}) in {self.league} league'
|
||||||
|
|
||||||
|
|
||||||
class Message():
|
class Message():
|
||||||
@ -110,10 +112,11 @@ class Message():
|
|||||||
def parse_trade(self) -> None:
|
def parse_trade(self) -> None:
|
||||||
res = re_trade.search(self.message)
|
res = re_trade.search(self.message)
|
||||||
if res:
|
if res:
|
||||||
self.trade = Trade(item=res['item'],
|
self.trade = Trade(nrItems=res['nrItems'],
|
||||||
|
item=res['item'],
|
||||||
amount=int(res['amount']),
|
amount=int(res['amount']),
|
||||||
currency=res['currency'],
|
currency=res['currency'],
|
||||||
tab=res['tab'],
|
tab=res['tab'],
|
||||||
row=int(res['row']),
|
row=res['row'],
|
||||||
col=int(res['col']),
|
col=res['col'],
|
||||||
league=res['league'])
|
league=res['league'])
|
||||||
|
@ -9,3 +9,12 @@ def test_write_to_log():
|
|||||||
'listed for 18 chaos in Ritual (stash tab "$"; position: left 22, top 5)'
|
'listed for 18 chaos in Ritual (stash tab "$"; position: left 22, top 5)'
|
||||||
with open(log_file, 'a') as f:
|
with open(log_file, 'a') as f:
|
||||||
f.write(text)
|
f.write(text)
|
||||||
|
|
||||||
|
|
||||||
|
def test_write_to_log_2():
|
||||||
|
config.read_config(r'config.yaml')
|
||||||
|
log_file = config.get_value('General.log_file')
|
||||||
|
assert(log_file)
|
||||||
|
text = ' 2021/05/09 15:25:21 14716218 bad [INFO Client 15632] @From iveseee: Hi, I would like to buy your 2 Ancient Orb for my 28 Chaos Orb in Ultimatum.'
|
||||||
|
with open(log_file, 'a') as f:
|
||||||
|
f.write(text)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user