From 22422e5d0b072ed45dba44ee391c981eb19526ff Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: Thu, 19 Dec 2024 23:19:31 +0300
Subject: [PATCH] now really works parse invisible lab infection

---
 src/autobioebbing.py | 33 +++++++++++++++++++--------------
 1 file changed, 19 insertions(+), 14 deletions(-)

diff --git a/src/autobioebbing.py b/src/autobioebbing.py
index 06bb25f..b28cccc 100644
--- a/src/autobioebbing.py
+++ b/src/autobioebbing.py
@@ -21,67 +21,67 @@ def find_infect_theme(text):
         # current order in theme:
         # ('infected', 'bio_expr', 'infected days', 'pathogen remaining')
         # UA theme
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a> йобнув.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a> йобнув.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          r"([0-9\.\,k]+) біо-ресурса",
          default_infected_days_theme,
          default_pathogen_remaining_theme),
         # RU theme
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a> подверг.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a> подверг.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          default_bioexpr_theme,
          default_infected_days_theme,
          default_pathogen_remaining_theme),
         # EN theme
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a> infected.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a> infected.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          r"([0-9\.\,k]+) pcs\.",
          r' for ([0-9\ ]+) d.*',
          r'Remaining: ([0-9\ ]+)'),
         # AZ theme
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a> сикди.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a> сикди.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          r"верир: ([0-9\.\,k]+)",
          default_infected_days_theme,
          default_pathogen_remaining_theme),
         # "ПК гик" theme
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a> насрал.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a> насрал.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          r"потеряет: ([0-9\.\,k]+)",
          default_infected_days_theme,
          default_pathogen_remaining_theme),
         # "Новогодняя" theme
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a> подверг заморозке.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a> подверг заморозке.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          default_bioexpr_theme,
          default_infected_days_theme,
          default_pathogen_remaining_theme),
         # "Сексуальная индустрия" theme
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a>.+выебал.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a>.+выебал.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          r"кончила ([0-9\.\,k]+)",
          r' ещё ([0-9\ ]+) д.*',
          default_pathogen_remaining_theme),
         # "Аферисты в сетях" theme
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a> атаковал.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a> атаковал.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          r"приносит: ([0-9\.\,k]+)",
          default_infected_days_theme,
          default_pathogen_remaining_theme),
         # "Квадробер" theme
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a>.+бешенству.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a>.+бешенству.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          r"корма: ([0-9\.\,k]+)",
          default_infected_days_theme,
          default_pathogen_remaining_theme),
         # UA theme [via trust]
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a> за допомогою довіреності зазнала зараження.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a> за допомогою довіреності зазнала зараження.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          r"([0-9\.\,k]+) біо-ресурса",
          default_infected_days_theme,
          default_pathogen_remaining_theme),
         # RU theme [via trust]
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a> при помощи доверенности подвергла заражению.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a> при помощи доверенности подвергла заражению.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          default_bioexpr_theme,
          default_infected_days_theme,
          default_pathogen_remaining_theme),
         # EN theme [via trust]
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a> by authorization infected.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a> by authorization infected.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          r"([0-9\.\,k]+) pcs\.",
          r' for ([0-9\ ]+) d.*',
          r'Remaining: ([0-9\ ]+)'),
         # idk what is theme [via trust]
-        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)?">.*</a> при помощи анонимуса атаковала.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
+        (r'<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">.*</a> при помощи анонимуса атаковала.+<a href="(tg://openmessage\?user_id=\d+|https://t\.me/\w+)">',
          r'приносит: ([0-9\.\,k]+)',
          default_infected_days_theme,
          default_pathogen_remaining_theme),
@@ -90,9 +90,14 @@ def find_infect_theme(text):
         trying_theme_index = bio_attack_themes.index(theme)
         logger.debug(f'trying theme {trying_theme_index}...')
         r, bioexp, days, remaining = re.findall(theme[0], text), re.findall(theme[1], text), re.findall(theme[2], text), re.findall(theme[3], text)
-        if r and bioexp and days and remaining:
+        if len(r) > 2 and bioexp and days and remaining:
             logger.debug(f'found theme {trying_theme_index}')
             return r, bio_attack_themes[trying_theme_index]
+        r = re.findall(theme[0].split('</a>', 1)[1], text)
+        if len(r) == 1 and bioexp and days and remaining:
+            logger.debug(f'found theme {trying_theme_index}, but invisible first lab it will be replaced to avocado id')
+            r = [(f'tg://openmessage?user_id={avocado_id}', r[0])]
+            return r, bio_attack_themes[trying_theme_index]
     return r, None