mirror of
				https://github.com/LonamiWebs/Telethon.git
				synced 2025-11-01 00:17:47 +03:00 
			
		
		
		
	Add name mention formatting to HTML and Markdown (#1019)
This commit is contained in:
		
							parent
							
								
									2468b32fc5
								
							
						
					
					
						commit
						340f5614b5
					
				|  | @ -9,8 +9,8 @@ from html.parser import HTMLParser | |||
| from ..tl.types import ( | ||||
|     MessageEntityBold, MessageEntityItalic, MessageEntityCode, | ||||
|     MessageEntityPre, MessageEntityEmail, MessageEntityUrl, | ||||
|     MessageEntityTextUrl | ||||
| ) | ||||
|     MessageEntityTextUrl, MessageEntityMentionName | ||||
|     ) | ||||
| 
 | ||||
| 
 | ||||
| # Helpers from markdown.py | ||||
|  | @ -178,6 +178,9 @@ def unparse(text, entities): | |||
|         elif entity_type == MessageEntityTextUrl: | ||||
|             html.append('<a href="{}">{}</a>' | ||||
|                         .format(escape(entity.url), entity_text)) | ||||
|         elif entity_type == MessageEntityMentionName: | ||||
|             html.append('<a href="tg://user?id={}">{}</a>' | ||||
|                         .format(entity.user_id, entity_text)) | ||||
|         else: | ||||
|             skip_entity = True | ||||
|         last_offset = entity.offset + (0 if skip_entity else entity.length) | ||||
|  |  | |||
|  | @ -9,8 +9,8 @@ from ..helpers import add_surrogate, del_surrogate | |||
| from ..tl import TLObject | ||||
| from ..tl.types import ( | ||||
|     MessageEntityBold, MessageEntityItalic, MessageEntityCode, | ||||
|     MessageEntityPre, MessageEntityTextUrl | ||||
| ) | ||||
|     MessageEntityPre, MessageEntityTextUrl, MessageEntityMentionName | ||||
|     ) | ||||
| 
 | ||||
| DEFAULT_DELIMITERS = { | ||||
|     '**': MessageEntityBold, | ||||
|  | @ -161,11 +161,17 @@ def unparse(text, entities, delimiters=None, url_fmt=None): | |||
|         delimiter = delimiters.get(type(entity), None) | ||||
|         if delimiter: | ||||
|             text = text[:s] + delimiter + text[s:e] + delimiter + text[e:] | ||||
|         elif isinstance(entity, MessageEntityTextUrl) and url_fmt: | ||||
|             text = ( | ||||
|                 text[:s] + | ||||
|                 add_surrogate(url_fmt.format(text[s:e], entity.url)) + | ||||
|                 text[e:] | ||||
|             ) | ||||
|         elif url_fmt: | ||||
|             url = None | ||||
|             if isinstance(entity, MessageEntityTextUrl): | ||||
|                 url = entity.url | ||||
|             elif isinstance(entity, MessageEntityMentionName): | ||||
|                 url = 'tg://user?id={}'.format(entity.user_id) | ||||
|             if url: | ||||
|                 text = ( | ||||
|                     text[:s] + | ||||
|                     add_surrogate(url_fmt.format(text[s:e], url)) + | ||||
|                     text[e:] | ||||
|                 ) | ||||
| 
 | ||||
|     return del_surrogate(text) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user