Append Trade object to Message

This commit is contained in:
Oliver Hartmann 2021-03-13 20:49:21 +01:00
parent 34cc3db033
commit 0c7c7eafa4
3 changed files with 17 additions and 14 deletions

View File

@ -55,6 +55,9 @@ class Message():
self.user = user self.user = user
self.guild = guild self.guild = guild
self.to_from = to_from self.to_from = to_from
self.trade = None
if self.channel is Channel.WHISPER:
self.parse_trade()
def __str__(self) -> str: def __str__(self) -> str:
text = f'{self.date} - {self.channel.name}: ' text = f'{self.date} - {self.channel.name}: '
@ -65,12 +68,13 @@ class Message():
text = text + f'{self.user}: {self.message}' text = text + f'{self.user}: {self.message}'
return text return text
def parse_trade(self) -> Trade: def parse_trade(self) -> None:
res = re_trade.search(self.message) res = re_trade.search(self.message)
return Trade(item=res['item'], if res:
amount=int(res['amount']), self.trade = Trade(item=res['item'],
currency=res['currency'], amount=int(res['amount']),
tab=res['tab'], currency=res['currency'],
row=int(res['row']), tab=res['tab'],
col=int(res['col']), row=int(res['row']),
league=res['league']) col=int(res['col']),
league=res['league'])

View File

@ -1,7 +1,8 @@
from tkinter import ttk from tkinter import ttk
from tkinter import Tk from tkinter import Tk
from tkinter import Button from tkinter import Button
from .data import Trade from .data import Message
class Gui(Tk): class Gui(Tk):
def __init__(self, parent=None) -> None: def __init__(self, parent=None) -> None:
@ -17,7 +18,7 @@ class Gui(Tk):
self.add_tab(2, None) self.add_tab(2, None)
self.add_tab(3, None) self.add_tab(3, None)
def add_tab(self, number: int, trade: Trade) -> None: def add_tab(self, number: int, message: Message) -> None:
tab = ttk.Frame(self.tab_control) tab = ttk.Frame(self.tab_control)
Button(tab, text='Accept').pack() Button(tab, text='Accept').pack()
Button(tab, text='Decline').pack() Button(tab, text='Decline').pack()

View File

@ -32,10 +32,8 @@ def read_log(logfile: str, app: gui.Gui) -> None:
for line in loglines: for line in loglines:
message = parse_log(line) message = parse_log(line)
log.debug(message) log.debug(message)
if message and message.channel is Channel.WHISPER: if message.trade:
log.info('TRADE') app.add_tab(30, message)
trade = message.parse_trade()
app.add_tab(30, trade)
def follow(thefile: str): def follow(thefile: str):