From de02848a69a8158b846ba66bb2b03b2fe14a4e4a Mon Sep 17 00:00:00 2001 From: Dan <14043624+delivrance@users.noreply.github.com> Date: Tue, 25 Jun 2019 05:47:57 +0200 Subject: [PATCH] Revert "Delete style utils.py and move its content inside html.py The HTML parser is now the only one that makes use of those util methods" This reverts commit cd1e41b1 --- pyrogram/client/style/html.py | 23 +++------------------ pyrogram/client/style/utils.py | 37 ++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 20 deletions(-) create mode 100644 pyrogram/client/style/utils.py diff --git a/pyrogram/client/style/html.py b/pyrogram/client/style/html.py index 9376f793..1748fa58 100644 --- a/pyrogram/client/style/html.py +++ b/pyrogram/client/style/html.py @@ -20,11 +20,11 @@ import html import re from collections import OrderedDict from html.parser import HTMLParser -from struct import unpack import pyrogram from pyrogram.api import types from pyrogram.errors import PeerIdInvalid +from . import utils class Parser(HTMLParser): @@ -111,28 +111,11 @@ class Parser(HTMLParser): class HTML: - # SMP = Supplementary Multilingual Plane: https://en.wikipedia.org/wiki/Plane_(Unicode)#Overview - SMP_RE = re.compile(r"[\U00010000-\U0010FFFF]") - def __init__(self, client: "pyrogram.BaseClient" = None): self.client = client - @staticmethod - def add_surrogates(text): - # Replace each SMP code point with a surrogate pair - return HTML.SMP_RE.sub( - lambda match: # Split SMP in two surrogates - "".join(chr(i) for i in unpack(" +# +# This file is part of Pyrogram. +# +# Pyrogram is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Pyrogram is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with Pyrogram. If not, see . + +import re +from struct import unpack + +# SMP = Supplementary Multilingual Plane: https://en.wikipedia.org/wiki/Plane_(Unicode)#Overview +SMP_RE = re.compile(r"[\U00010000-\U0010FFFF]") + + +def add_surrogates(text): + # Replace each SMP code point with a surrogate pair + return SMP_RE.sub( + lambda match: # Split SMP in two surrogates + "".join(chr(i) for i in unpack("