Skip to content

Commit a3e9b1c

Browse files
committed
Optimization of the log channel resources management.
1 parent b2ecc63 commit a3e9b1c

1 file changed

Lines changed: 43 additions & 73 deletions

File tree

tg_bot/modules/log_channel.py

Lines changed: 43 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -64,80 +64,50 @@ def log_resource(bot: Bot, update: Update):
6464
if tags:
6565
tags.sort()
6666

67-
for descriptor, entity in entities.items():
68-
result = (
69-
f"<b>Risorsa inviata da @{update.effective_user.username}:</b>\n"
70-
)
67+
log_entities_list(bot, chat, entities, log_chat, tags, update)
68+
69+
log_entities_list(bot, chat, caption_entities, log_chat, tags, update)
70+
71+
72+
def log_entities_list(bot, chat, entities, log_chat, tags, update):
73+
for descriptor, entity in entities.items():
74+
result = (
75+
f"<b>Risorsa inviata da @{update.effective_user.username}:</b>\n"
76+
)
77+
78+
if descriptor["type"] == MessageEntity.URL:
79+
try:
80+
response = requests.get(entity)
81+
if response.status_code == requests.codes.ok:
82+
result += f"{entity}"
83+
extracted = tldextract.extract(entity)
84+
if f"#{extracted.domain}" not in tags:
85+
tags.append(f"#{extracted.domain}")
86+
tags.sort()
87+
if tags:
88+
tags_string = " ".join(tags)
89+
result += f"\n\nTags:\n{tags_string}"
90+
send_log(bot, log_chat, chat.id, result)
91+
except Exception as e:
92+
LOGGER.info(f"Resource {entity} is not a valid url")
93+
LOGGER.error(e)
94+
elif descriptor["type"] == MessageEntity.TEXT_LINK:
95+
try:
96+
response = requests.get(descriptor["url"])
97+
if response.status_code == requests.codes.ok:
98+
result += f'{descriptor["url"]}'
99+
extracted = tldextract.extract(descriptor["url"])
100+
if f"#{extracted.domain}" not in tags:
101+
tags.append(f"#{extracted.domain}")
102+
tags.sort()
103+
if tags:
104+
tags_string = " ".join(tags)
105+
result += f"\n\nTags:\n{tags_string}"
106+
send_log(bot, log_chat, chat.id, result)
107+
except Exception as e:
108+
LOGGER.info(f"Resource {entity} is not a valid url")
109+
LOGGER.error(e)
71110

72-
if descriptor["type"] == MessageEntity.URL:
73-
try:
74-
response = requests.get(entity)
75-
if response.status_code == requests.codes.ok:
76-
result += f"{entity}"
77-
extracted = tldextract.extract(entity)
78-
if f"#{extracted.domain}" not in tags:
79-
tags.append(f"#{extracted.domain}")
80-
tags.sort()
81-
if tags:
82-
tags_string = " ".join(tags)
83-
result += f"\n\nTags:\n{tags_string}"
84-
send_log(bot, log_chat, chat.id, result)
85-
except Exception as e:
86-
LOGGER.info(f"Resource {entity} is not a valid url")
87-
LOGGER.error(e)
88-
elif descriptor["type"] == MessageEntity.TEXT_LINK:
89-
try:
90-
response = requests.get(descriptor["url"])
91-
if response.status_code == requests.codes.ok:
92-
result += f'{descriptor["url"]}'
93-
extracted = tldextract.extract(descriptor["url"])
94-
if f"#{extracted.domain}" not in tags:
95-
tags.append(f"#{extracted.domain}")
96-
tags.sort()
97-
if tags:
98-
tags_string = " ".join(tags)
99-
result += f"\n\nTags:\n{tags_string}"
100-
send_log(bot, log_chat, chat.id, result)
101-
except Exception as e:
102-
LOGGER.info(f"Resource {entity} is not a valid url")
103-
LOGGER.error(e)
104-
105-
for descriptor, entity in caption_entities.items():
106-
result = (
107-
"<b>Risorsa inviata da @{update.effective_user.username}:</b>\n"
108-
)
109-
if descriptor["type"] == MessageEntity.URL:
110-
try:
111-
response = requests.get(entity)
112-
if response.status_code == requests.codes.ok:
113-
result += f"{entity}"
114-
extracted = tldextract.extract(entity)
115-
if f"#{extracted.domain}" not in tags:
116-
tags.append(f"#{extracted.domain}")
117-
tags.sort()
118-
if tags:
119-
tags_string = " ".join(tags)
120-
result += f"\n\nTags:\n{tags_string}"
121-
send_log(bot, log_chat, chat.id, result)
122-
except Exception as e:
123-
LOGGER.info(f"Resource {entity} is not a valid url")
124-
LOGGER.error(e)
125-
elif descriptor["type"] == MessageEntity.TEXT_LINK:
126-
try:
127-
response = requests.get(descriptor["url"])
128-
if response.status_code == requests.codes.ok:
129-
result += f'{descriptor["url"]}'
130-
extracted = tldextract.extract(descriptor["url"])
131-
if f"#{extracted.domain}" not in tags:
132-
tags.append(f"#{extracted.domain}")
133-
tags.sort()
134-
if tags:
135-
tags_string = " ".join(tags)
136-
result += f"\n\nTags:\n{tags_string}"
137-
send_log(bot, log_chat, chat.id, result)
138-
except Exception as e:
139-
LOGGER.info(f"Resource {entity} is not a valid url")
140-
LOGGER.error(e)
141111

142112
def send_log(bot: Bot, log_chat_id: str, orig_chat_id: str, result: str):
143113
try:

0 commit comments

Comments
 (0)