Skip to content

Commit 1f9f6f5

Browse files
committed
Opt: use regex to match event deadline
1 parent 67f4fbd commit 1f9f6f5

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

module/shop_event/ui.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,13 @@ def is_event_ended(self):
6363
if self.config.EVENT_SHOP_IGNORE_DEADLINE:
6464
return True
6565
period = OCR_EVENT_SHOP_DEADLINE.ocr(self.device.image)[:-8]
66-
y, m, d = [int(i) for i in re.split('[.~-]', period)[3:6]]
67-
deadline = datetime(y, m, d) + timedelta(days=1) # server deadline
66+
pattern = r'(\d{4})\.(\d{1,2})\.(\d{1,2})'
67+
matches = re.findall(pattern, period)
68+
if not matches or len(matches) < 2:
69+
logger.warning(f"Failed to read event deadline: {period}")
70+
return False
71+
y, m, d = matches[-1]
72+
deadline = datetime(int(y), int(m), int(d)) + timedelta(days=1) # server deadline
6873
server_now = datetime.now() - server_time_offset()
6974
return (deadline - server_now).days < 7
7075

0 commit comments

Comments
 (0)