Commit graph

41 commits

Author SHA1 Message Date
wulan17
9105c1a9f3
pyrofork: Adapt markdown unparser from telethon
* The problem with current implementation is when we have nested markdown inside a url the markdown order is messed up.
for example link with bold text will be unparsed like this [**github](https://github.com**).

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-03 05:16:37 +07:00
wulan17
984abd2008
pyrofork: Fix nested url markdown parsing
* The problem with current implepementation is when we add another markdown inside an url markdown will not be parsed.
for example we add bold (**) markdown inside an url markdown, the url text show as `**text**` instead of making the text bold.

Signed-off-by: wulan17 <wulan17@nusantararom.org>
2025-03-03 00:01:20 +07:00
KurimuzonAkuma
6dcb6bfa67 pyrofork: Add custom emojis to markdown
Signed-off-by: Yasir Aris M <git@yasirdev.my.id>
2024-12-21 00:30:11 +00:00
wulan17
8902f8be9e
pyrofork: parser: markdown: Ignore markdown inside <code> tags
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-07-01 20:11:54 +07:00
wulan17
c4362ad535
pyrofork: Add blockquote expandable parser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-06-02 14:42:40 +07:00
wulan17
1b3f0933c7
Pyrofork: Update Copyright headers
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-02-07 20:25:08 +07:00
wulan17
6e97b58566
Pyrofork: fix blockquote parser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-15 22:21:45 +07:00
wulan17
f17c0a3354
Pyrofork: parser: markdown: blockquote: Don't strip the message text
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-14 15:20:57 +07:00
wulan17
4fc27cbae1
Pyrofork: Add blockquote markdown unparser
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-12 00:26:45 +07:00
Yasir Aris M
c13f3b766e
Pyrofork: Add blockquote markdown parser
Co-authored-by: wulan17 <wulan17@nusantararom.org>
Signed-off-by: wulan17 <wulan17@nusantararom.org>
2024-01-12 00:26:44 +07:00
Dan
d53e1c235b Lower the logging level of some log calls 2023-01-09 15:19:55 +01:00
Dan
01cd8bb57f Optimize log calls 2022-12-26 16:38:12 +01:00
Dan
217bcb1dfb Fix HTML unparsing when there's no entities 2022-12-06 21:33:46 +01:00
Andrea Princic
669b39927b
Escape text inside entity when building unparsed text (#1156) 2022-12-06 20:09:31 +01:00
Andrea Princic
2ed000381d
Update the HTML logic to output well-formed elements (#1155)
* unparsing html entities with deque

* unparsing using a stack (recursive)
2022-12-06 18:29:27 +01:00
Dan
3eda82d0af Update html.py 2022-10-16 12:07:24 +02:00
Andrea Princic
9ade92c855
Add languages to "pre" tags (HTML and Markdown) #1118
* added `language` to entities when unparsing (both markdown and html)

* added `language` to entities also when parsing (html only)

* Update html.py

* Update markdown.py

* Update markdown.py

* Update markdown.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2022-10-15 18:19:38 +02:00
Dan
ed008dd3bb Fix message entity parsing and serialization 2022-08-28 20:32:43 +02:00
Dan
f5bcce7c3f Add support for custom emoji in HTML 2022-08-16 08:59:06 +02:00
Harsh
ed748952b5
Filter out empty entities internally (#1041)
* Filter out empty entities internally 

I guess it's fine to handle empty entities internally to avoid ENTITY_BOUNDS_INVALID , so the client won't send the empty entities

* revert utils and apply changes to parser/html.py

* Update utils.py

* Update utils.py

* Update utils.py

* Update html.py

* Update utils.py

* Update utils.py

Co-authored-by: Dan <14043624+delivrance@users.noreply.github.com>
2022-07-22 17:15:18 +02:00
Dan
8a2416665b Fix HTML and Markdown unparsing 2022-04-25 08:30:26 +02:00
Dan
ba34bf84f9 Show an error message for invalid parse modes 2022-04-24 13:23:07 +02:00
Dan
b697826b5a Replace integer timestamps with datetime objects 2022-04-24 11:56:06 +02:00
Dan
bbad58a83f Add enumerations 2022-04-24 11:56:06 +02:00
Andrea Princic
b3f849df76
Fix entities unparsing in other scenarios (#892) 2022-02-03 15:26:17 +01:00
Andrea Princic
c7888437e8
Fixed error while unparsing consecutive entities (#885) 2022-01-29 18:50:51 +01:00
Shrimadhav U K
4af9e30cfd
Fix caption being "None" when passing None (#879) 2022-01-29 11:13:09 +01:00
Alisson Lauffer
7d444381c7
Fix spoiler html unparsing (#862)
- The current spoiler implementaion unparses both strikethrough and spoiler tags with <s>, making them indistinguishable
2022-01-21 10:26:52 +01:00
Dan
626a1bd938 Update copyright year 2022-01-07 10:23:45 +01:00
Dan
ebaf1a23fb Change markdown spoiler delimiter 2022-01-03 11:19:02 +01:00
Dan
f7b9137a68 Add support for "spoiler" MessageEntity 2021-12-30 09:14:49 +01:00
Dan
317685cf54 Further improve the HTML parser
Related to #682
2021-05-15 18:35:57 +02:00
Dan
7c9f1cb8ef Improve the HTML parser
Fixes #682
2021-05-15 18:14:27 +02:00
Dan
710cfa071d Lower log level for unmatched closing tag 2021-04-26 16:13:36 +02:00
Harsh
f407facdc7
Fix for strikethrough unparsing in markdown (#627) 2021-03-14 12:43:12 +01:00
Harsh
967f25796c
Fix strikethrough message entity unparsing (#598) 2021-01-17 12:16:06 +01:00
Dan
7dda167c09 Update copyright notice
Year 2021
2021-01-01 22:58:48 +01:00
Dan
0d357fb5a9 Improve HTML parser
Closes #567
2020-12-24 19:35:41 +01:00
Alisson Lauffer
1dc4df8cb1
Improve typing hints (#537)
* Change type1 or type2 to Union[type1, type2]

* Address @KunoiSayami suggestions

* Change Union[type1, None] to Optional[type1]

* Update PR with latest commit changes

* Address Dan suggestions
2020-12-20 17:05:17 +01:00
Mahesh0253
eed3221ecb
Fixed bad f-string (#476) 2020-08-26 19:46:19 +02:00
Dan
538f1e3972 Deep rewrite: preparing for v1.0
- Pyrogram core is now fully asynchronous
- Ditched Python 3.5, welcome 3.6 as minimum version.
- Moved all types to pyrogram.types
- Turned the Filters class into a module (filters)
- Moved all filters to pyrogram.filters
- Moved all handlers to pyrogram.handlers
- Moved all emoji to pyrogram.emoji
- Renamed pyrogram.api to pyrogram.raw
- Clock is now synced with server's time
- Telegram schema updated to Layer 117
- Greatly improved the TL compiler (proper type-constructor hierarchy)
- Added "do not edit" warning in generated files
- Crypto parts are executed in a thread pool to avoid blocking the event loop
- idle() is now a separate function (it doesn't deal with Client instances)
- Async storage, async filters and async progress callback (optional, can be sync too)
- Added getpass back, for hidden password inputs
2020-08-22 08:05:05 +02:00