finally fixed duplicate trades

This commit is contained in:
Oliver Hartmann 2023-01-04 23:06:20 +01:00
parent b647427581
commit a940e22065
3 changed files with 29 additions and 5 deletions

View File

@ -148,3 +148,7 @@ class Message():
res = re_trade.search(self.message)
if res:
self.trade = Trade.by_regex_result(res)
def unique_trade(self) -> int:
assert self.trade
return hash((self.user, self.trade.__hash__()))

View File

@ -68,17 +68,19 @@ class TradeCollection(QWidget):
self.setLayout(self.main_layout)
trade = TradeWidget(message, self)
self.main_layout.addWidget(trade)
self.trades = {message.trade.__hash__: trade}
self.trades = {message.unique_trade(): trade}
def add_trade(self, message: Message) -> None:
if message.trade.__hash__ in self.trades:
assert message.trade
if message.unique_trade() in self.trades:
return
trade = TradeWidget(message, self)
self.main_layout.addWidget(trade)
self.trades[message.trade.__hash__] = trade
self.trades[message.unique_trade()] = trade
def del_trade(self, message: Message):
del self.trades[message.trade.__hash__]
assert message.trade
del self.trades[message.unique_trade()]
if not self.trades:
self.parent.del_collection(self.unique_item)
self.deleteLater()

View File

@ -33,6 +33,24 @@ def test_write_to_log_4():
config.read_config(r'config.yaml')
log_file = config.get_value('General.log_file')
assert (log_file)
text = "2021/05/11 23:34:41 13600796 bad [INFO Client 9008] @From <CHIP> HerculadeDrik: Hi, I would like to buy your Cortex Relic Chambers Map (T15) listed for 3.4 exalted in Ultimatum (stash tab \"$\"; position: left 3, top 9)"
text = "2021/05/11 23:34:41 13600796 bad [INFO Client 9008] @From <CHIP> HerculadeDrik: Hi, I would like to buy your Cortex Relic Chambers Map (T15) listed for 40000000 exalted in Ultimatum (stash tab \"$\"; position: left 3, top 9)"
with open(log_file, 'a') as f:
f.write(text)
def test_write_to_log_41():
config.read_config(r'config.yaml')
log_file = config.get_value('General.log_file')
assert (log_file)
text = "2021/05/11 23:34:41 13600796 bad [INFO Client 9008] @From <CHIP> MaxMustermann: Hi, I would like to buy your Cortex Relic Chambers Map (T15) listed for 3.4 exalted in Ultimatum (stash tab \"$\"; position: left 3, top 9)"
with open(log_file, 'a') as f:
f.write(text)
def test_write_to_log_42():
config.read_config(r'config.yaml')
log_file = config.get_value('General.log_file')
assert (log_file)
text = "2021/05/11 23:34:41 13600796 bad [INFO Client 9008] @From <CHIP> HenryHase: Hi, I would like to buy your Cortex Relic Chambers Map (T15) listed for 3.4 exalted in Ultimatum (stash tab \"$\"; position: left 3, top 9)"
with open(log_file, 'a') as f:
f.write(text)