mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-08-05 19:42:29 +00:00
Many code-style improvements
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from telethon.tl.types import MessageEntityBold, MessageEntityItalic, MessageEntityCode, MessageEntityTextUrl
|
||||
from telethon.tl.types import (MessageEntityBold, MessageEntityCode,
|
||||
MessageEntityItalic, MessageEntityTextUrl)
|
||||
|
||||
|
||||
def parse_message_entities(msg):
|
||||
@@ -44,13 +45,13 @@ def parse_message_entities(msg):
|
||||
|
||||
# Add 1 when slicing the message not to include the [] nor ()
|
||||
# There is no need to subtract 1 on the later part because that index is already excluded
|
||||
link_text = ''.join(msg[vui[0]+1:vui[1]])
|
||||
link_url = ''.join(msg[vui[2]+1:vui[3]])
|
||||
link_text = ''.join(msg[vui[0] + 1:vui[1]])
|
||||
link_url = ''.join(msg[vui[2] + 1:vui[3]])
|
||||
|
||||
# After we have retrieved both the link text and url, replace them in the message
|
||||
# Now we do have to add 1 to include the [] and () when deleting and replacing!
|
||||
del msg[vui[2]:vui[3]+1]
|
||||
msg[vui[0]:vui[1]+1] = link_text
|
||||
del msg[vui[2]:vui[3] + 1]
|
||||
msg[vui[0]:vui[1] + 1] = link_text
|
||||
|
||||
# Finally, update the current valid index url to reflect that all the previous VUI's will be removed
|
||||
# This is because, after the previous VUI's get done, their part of the message is removed too,
|
||||
@@ -63,14 +64,12 @@ def parse_message_entities(msg):
|
||||
# No need to subtract the displacement from the URL part (indices 2 and 3)
|
||||
|
||||
# When calculating the length, subtract 1 again not to include the previously called ']'
|
||||
entities.append(MessageEntityTextUrl(offset=vui[0], length=vui[1] - vui[0] - 1, url=link_url))
|
||||
entities.append(
|
||||
MessageEntityTextUrl(
|
||||
offset=vui[0], length=vui[1] - vui[0] - 1, url=link_url))
|
||||
|
||||
# After the message is clean from links, handle all the indicator flags
|
||||
indicator_flags = {
|
||||
'*': None,
|
||||
'_': None,
|
||||
'`': None
|
||||
}
|
||||
indicator_flags = {'*': None, '_': None, '`': None}
|
||||
|
||||
# Iterate over the list to find the indicators of entities
|
||||
for i, c in enumerate(msg):
|
||||
@@ -88,13 +87,19 @@ def parse_message_entities(msg):
|
||||
|
||||
# Add the corresponding entity
|
||||
if c == '*':
|
||||
entities.append(MessageEntityBold(offset=offset, length=length))
|
||||
entities.append(
|
||||
MessageEntityBold(
|
||||
offset=offset, length=length))
|
||||
|
||||
elif c == '_':
|
||||
entities.append(MessageEntityItalic(offset=offset, length=length))
|
||||
entities.append(
|
||||
MessageEntityItalic(
|
||||
offset=offset, length=length))
|
||||
|
||||
elif c == '`':
|
||||
entities.append(MessageEntityCode(offset=offset, length=length))
|
||||
entities.append(
|
||||
MessageEntityCode(
|
||||
offset=offset, length=length))
|
||||
|
||||
# Clear the flag to start over with this indicator
|
||||
indicator_flags[c] = None
|
||||
@@ -116,15 +121,16 @@ def parse_message_entities(msg):
|
||||
# In this case, the current entity length is decreased by two,
|
||||
# and all the subentities offset decreases 1
|
||||
if (subentity.offset > entity.offset and
|
||||
subentity.offset + subentity.length < entity.offset + entity.length):
|
||||
subentity.offset + subentity.length <
|
||||
entity.offset + entity.length):
|
||||
entity.length -= 2
|
||||
subentity.offset -= 1
|
||||
|
||||
# Second case, both inside: so*me_th*in_g.
|
||||
# In this case, the current entity length is decreased by one,
|
||||
# and all the subentities offset and length decrease 1
|
||||
elif (entity.offset < subentity.offset < entity.offset + entity.length and
|
||||
subentity.offset + subentity.length > entity.offset + entity.length):
|
||||
elif (entity.offset < subentity.offset < entity.offset +
|
||||
entity.length < subentity.offset + subentity.length):
|
||||
entity.length -= 1
|
||||
subentity.offset -= 1
|
||||
subentity.length -= 1
|
||||
|
Reference in New Issue
Block a user