From 57edd4d662a6832f7c070402c203fa11a9b75111 Mon Sep 17 00:00:00 2001 From: Kevin Kirsche Date: Thu, 28 Jul 2022 12:13:30 -0400 Subject: [PATCH 1/7] refactor: update emoji package to 2.0.0 Fix: #8359 --- stubs/emoji/METADATA.toml | 2 +- stubs/emoji/emoji/__init__.pyi | 50 ++++++++++--------- stubs/emoji/emoji/core.pyi | 16 ++---- stubs/emoji/emoji/unicode_codes/__init__.pyi | 29 ++--------- stubs/emoji/emoji/unicode_codes/data_dict.pyi | 6 ++- 5 files changed, 39 insertions(+), 64 deletions(-) diff --git a/stubs/emoji/METADATA.toml b/stubs/emoji/METADATA.toml index b32ddc518a14..424bb5bd8834 100644 --- a/stubs/emoji/METADATA.toml +++ b/stubs/emoji/METADATA.toml @@ -1,4 +1,4 @@ -version = "1.7.*" +version = "2.0.*" [tool.stubtest] ignore_missing_stub = false diff --git a/stubs/emoji/emoji/__init__.pyi b/stubs/emoji/emoji/__init__.pyi index a545cefcd600..c75d32438c7e 100644 --- a/stubs/emoji/emoji/__init__.pyi +++ b/stubs/emoji/emoji/__init__.pyi @@ -1,30 +1,32 @@ -from .core import ( +from emoji.core import ( + emojize as emojize, demojize as demojize, - distinct_emoji_lis as distinct_emoji_lis, - distinct_emoji_list as distinct_emoji_list, emoji_count as emoji_count, - emoji_lis as emoji_lis, emoji_list as emoji_list, - emojize as emojize, - get_emoji_regexp as get_emoji_regexp, - is_emoji as is_emoji, + distinct_emoji_list as distinct_emoji_list, replace_emoji as replace_emoji, version as version, + is_emoji as is_emoji, ) -from .unicode_codes import ( - EMOJI_ALIAS_UNICODE_ENGLISH as EMOJI_ALIAS_UNICODE_ENGLISH, - EMOJI_DATA as EMOJI_DATA, - EMOJI_UNICODE_ENGLISH as EMOJI_UNICODE_ENGLISH, - EMOJI_UNICODE_FRENCH as EMOJI_UNICODE_FRENCH, - EMOJI_UNICODE_GERMAN as EMOJI_UNICODE_GERMAN, - EMOJI_UNICODE_ITALIAN as EMOJI_UNICODE_ITALIAN, - EMOJI_UNICODE_PORTUGUESE as EMOJI_UNICODE_PORTUGUESE, - EMOJI_UNICODE_SPANISH as EMOJI_UNICODE_SPANISH, - UNICODE_EMOJI_ALIAS_ENGLISH as UNICODE_EMOJI_ALIAS_ENGLISH, - UNICODE_EMOJI_ENGLISH as UNICODE_EMOJI_ENGLISH, - UNICODE_EMOJI_FRENCH as UNICODE_EMOJI_FRENCH, - UNICODE_EMOJI_GERMAN as UNICODE_EMOJI_GERMAN, - UNICODE_EMOJI_ITALIAN as UNICODE_EMOJI_ITALIAN, - UNICODE_EMOJI_PORTUGUESE as UNICODE_EMOJI_PORTUGUESE, - UNICODE_EMOJI_SPANISH as UNICODE_EMOJI_SPANISH, -) +from emoji.unicode_codes import EMOJI_DATA, STATUS, LANGUAGES + +__all__ = [ + # emoji.core + "emojize", + "demojize", + "emoji_count", + "emoji_list", + "distinct_emoji_list", + "replace_emoji", + "version", + "is_emoji", + # emoji.unicode_codes + "EMOJI_DATA", + "STATUS", + "LANGUAGES", +] +__version__: str +__author__: str +__email__: str +__source__: str +__license__: str diff --git a/stubs/emoji/emoji/core.pyi b/stubs/emoji/emoji/core.pyi index 8b1e4c64cbae..f24fa966c0b3 100644 --- a/stubs/emoji/emoji/core.pyi +++ b/stubs/emoji/emoji/core.pyi @@ -1,11 +1,9 @@ from collections.abc import Callable -from re import Pattern +from re import Pattern, Match from typing_extensions import Literal, TypedDict _DEFAULT_DELIMITER: str -class _DeprecatedParameter: ... - class _EmojiLisReturn(TypedDict): emoji: str location: int @@ -17,31 +15,23 @@ class _EmojiListReturn(TypedDict): def emojize( string: str, - use_aliases: bool | type[_DeprecatedParameter] = ..., delimiters: tuple[str, str] = ..., variant: Literal["text_type", "emoji_type", None] = ..., language: str = ..., version: float | None = ..., handle_version: str | Callable[[str, dict[str, str]], str] | None = ..., ) -> str: ... +def replace(match: Match[str]) -> str: ... def demojize( string: str, - use_aliases: bool | type[_DeprecatedParameter] = ..., delimiters: tuple[str, str] = ..., language: str = ..., version: float | None = ..., handle_version: str | Callable[[str, dict[str, str]], str] | None = ..., ) -> str: ... -def replace_emoji( - string: str, - replace: str | Callable[[str, dict[str, str]], str] = ..., - language: str | type[_DeprecatedParameter] = ..., - version: float | None = ..., -) -> str: ... +def replace_emoji(string: str, replace: str | Callable[[str, dict[str, str]], str] = ..., version: float | None = ...) -> str: ... def get_emoji_regexp(language: str | None = ...) -> Pattern[str]: ... -def emoji_lis(string: str, language: str | type[_DeprecatedParameter] = ...) -> list[_EmojiLisReturn]: ... def emoji_list(string: str) -> list[_EmojiListReturn]: ... -def distinct_emoji_lis(string: str, language: str | type[_DeprecatedParameter] = ...) -> list[str]: ... def distinct_emoji_list(string: str) -> list[str]: ... def emoji_count(string: str, unique: bool = ...) -> int: ... def version(string: str) -> float: ... diff --git a/stubs/emoji/emoji/unicode_codes/__init__.pyi b/stubs/emoji/emoji/unicode_codes/__init__.pyi index 27bd9c9f7682..d3254aa95b25 100644 --- a/stubs/emoji/emoji/unicode_codes/__init__.pyi +++ b/stubs/emoji/emoji/unicode_codes/__init__.pyi @@ -1,26 +1,7 @@ -EMOJI_ALIAS_UNICODE_ENGLISH: dict[str, str] -EMOJI_UNICODE_ENGLISH: dict[str, str] -UNICODE_EMOJI_ENGLISH: dict[str, str] -UNICODE_EMOJI_ALIAS_ENGLISH: dict[str, str] +from _typeshed import Incomplete +from .data_dict import EMOJI_DATA as EMOJI_DATA, STATUS as STATUS, LANGUAGES as LANGUAGES -EMOJI_UNICODE_GERMAN: dict[str, str] -UNICODE_EMOJI_GERMAN: dict[str, str] +__all__ = ["get_emoji_unicode_dict", "get_aliases_unicode_dict", "EMOJI_DATA", "STATUS", "LANGUAGES"] -EMOJI_UNICODE_SPANISH: dict[str, str] -UNICODE_EMOJI_SPANISH: dict[str, str] - -EMOJI_UNICODE_FRENCH: dict[str, str] -UNICODE_EMOJI_FRENCH: dict[str, str] - -EMOJI_UNICODE_ITALIAN: dict[str, str] -UNICODE_EMOJI_ITALIAN: dict[str, str] - -EMOJI_UNICODE_PORTUGUESE: dict[str, str] -UNICODE_EMOJI_PORTUGUESE: dict[str, str] - -EMOJI_UNICODE: dict[str, dict[str, str]] -UNICODE_EMOJI: dict[str, dict[str, str]] - -EMOJI_DATA: dict[str, dict[str, str]] - -STATUS: dict[str, int] +def get_emoji_unicode_dict(lang: str) -> Incomplete: ... +def get_aliases_unicode_dict() -> dict[str, str]: ... diff --git a/stubs/emoji/emoji/unicode_codes/data_dict.pyi b/stubs/emoji/emoji/unicode_codes/data_dict.pyi index 46c28062717f..ffbd89d05c4c 100644 --- a/stubs/emoji/emoji/unicode_codes/data_dict.pyi +++ b/stubs/emoji/emoji/unicode_codes/data_dict.pyi @@ -1,4 +1,6 @@ from _typeshed import Incomplete -STATUS: Incomplete -EMOJI_DATA: Incomplete +__all__ = ["EMOJI_DATA", "STATUS", "LANGUAGES"] +STATUS: dict[str, int] +LANGUAGES: list[str] +EMOJI_DATA: dict[str, dict[str, Incomplete]] From e0808e00c10331db27745fa23cd15700234dab08 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 28 Jul 2022 16:16:47 +0000 Subject: [PATCH 2/7] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stubs/emoji/emoji/__init__.pyi | 8 ++++---- stubs/emoji/emoji/core.pyi | 2 +- stubs/emoji/emoji/unicode_codes/__init__.pyi | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/stubs/emoji/emoji/__init__.pyi b/stubs/emoji/emoji/__init__.pyi index c75d32438c7e..2a8b3baeaa23 100644 --- a/stubs/emoji/emoji/__init__.pyi +++ b/stubs/emoji/emoji/__init__.pyi @@ -1,14 +1,14 @@ from emoji.core import ( - emojize as emojize, demojize as demojize, + distinct_emoji_list as distinct_emoji_list, emoji_count as emoji_count, emoji_list as emoji_list, - distinct_emoji_list as distinct_emoji_list, + emojize as emojize, + is_emoji as is_emoji, replace_emoji as replace_emoji, version as version, - is_emoji as is_emoji, ) -from emoji.unicode_codes import EMOJI_DATA, STATUS, LANGUAGES +from emoji.unicode_codes import EMOJI_DATA, LANGUAGES, STATUS __all__ = [ # emoji.core diff --git a/stubs/emoji/emoji/core.pyi b/stubs/emoji/emoji/core.pyi index f24fa966c0b3..faf9ddc7a009 100644 --- a/stubs/emoji/emoji/core.pyi +++ b/stubs/emoji/emoji/core.pyi @@ -1,5 +1,5 @@ from collections.abc import Callable -from re import Pattern, Match +from re import Match, Pattern from typing_extensions import Literal, TypedDict _DEFAULT_DELIMITER: str diff --git a/stubs/emoji/emoji/unicode_codes/__init__.pyi b/stubs/emoji/emoji/unicode_codes/__init__.pyi index d3254aa95b25..379116163c0e 100644 --- a/stubs/emoji/emoji/unicode_codes/__init__.pyi +++ b/stubs/emoji/emoji/unicode_codes/__init__.pyi @@ -1,5 +1,6 @@ from _typeshed import Incomplete -from .data_dict import EMOJI_DATA as EMOJI_DATA, STATUS as STATUS, LANGUAGES as LANGUAGES + +from .data_dict import EMOJI_DATA as EMOJI_DATA, LANGUAGES as LANGUAGES, STATUS as STATUS __all__ = ["get_emoji_unicode_dict", "get_aliases_unicode_dict", "EMOJI_DATA", "STATUS", "LANGUAGES"] From d812cd12708e0fb50f18d72ff9ccea1ad1748193 Mon Sep 17 00:00:00 2001 From: Kevin Kirsche Date: Thu, 28 Jul 2022 12:15:20 -0400 Subject: [PATCH 3/7] fix: remove comments --- stubs/emoji/emoji/__init__.pyi | 2 -- 1 file changed, 2 deletions(-) diff --git a/stubs/emoji/emoji/__init__.pyi b/stubs/emoji/emoji/__init__.pyi index 2a8b3baeaa23..594e6cecb53d 100644 --- a/stubs/emoji/emoji/__init__.pyi +++ b/stubs/emoji/emoji/__init__.pyi @@ -11,7 +11,6 @@ from emoji.core import ( from emoji.unicode_codes import EMOJI_DATA, LANGUAGES, STATUS __all__ = [ - # emoji.core "emojize", "demojize", "emoji_count", @@ -20,7 +19,6 @@ __all__ = [ "replace_emoji", "version", "is_emoji", - # emoji.unicode_codes "EMOJI_DATA", "STATUS", "LANGUAGES", From e56300f02cff21f78a86f5183162b9cc4dc4322e Mon Sep 17 00:00:00 2001 From: Kevin Kirsche Date: Thu, 28 Jul 2022 12:18:31 -0400 Subject: [PATCH 4/7] fix: relative imports rather than fully qualified --- stubs/emoji/emoji/__init__.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stubs/emoji/emoji/__init__.pyi b/stubs/emoji/emoji/__init__.pyi index 594e6cecb53d..d81dfe6286b0 100644 --- a/stubs/emoji/emoji/__init__.pyi +++ b/stubs/emoji/emoji/__init__.pyi @@ -1,4 +1,4 @@ -from emoji.core import ( +from .core import ( demojize as demojize, distinct_emoji_list as distinct_emoji_list, emoji_count as emoji_count, @@ -8,7 +8,7 @@ from emoji.core import ( replace_emoji as replace_emoji, version as version, ) -from emoji.unicode_codes import EMOJI_DATA, LANGUAGES, STATUS +from .unicode_codes import EMOJI_DATA, LANGUAGES, STATUS __all__ = [ "emojize", From e3e629d9ef3873823edb0aaa0efbfa17399df569 Mon Sep 17 00:00:00 2001 From: Kevin Kirsche Date: Thu, 28 Jul 2022 12:24:02 -0400 Subject: [PATCH 5/7] remove missing at runtime function --- stubs/emoji/emoji/core.pyi | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/stubs/emoji/emoji/core.pyi b/stubs/emoji/emoji/core.pyi index faf9ddc7a009..d9e10e1663cf 100644 --- a/stubs/emoji/emoji/core.pyi +++ b/stubs/emoji/emoji/core.pyi @@ -1,5 +1,5 @@ from collections.abc import Callable -from re import Match, Pattern +from re import Pattern from typing_extensions import Literal, TypedDict _DEFAULT_DELIMITER: str @@ -21,7 +21,6 @@ def emojize( version: float | None = ..., handle_version: str | Callable[[str, dict[str, str]], str] | None = ..., ) -> str: ... -def replace(match: Match[str]) -> str: ... def demojize( string: str, delimiters: tuple[str, str] = ..., From d69cc3c1f636177c1a3e8f5e7e4ba4b48a3882ad Mon Sep 17 00:00:00 2001 From: Kevin Kirsche Date: Thu, 28 Jul 2022 12:32:09 -0400 Subject: [PATCH 6/7] fix: missing at runtime method #2 --- stubs/emoji/emoji/core.pyi | 2 -- 1 file changed, 2 deletions(-) diff --git a/stubs/emoji/emoji/core.pyi b/stubs/emoji/emoji/core.pyi index d9e10e1663cf..d3b2d5f89a11 100644 --- a/stubs/emoji/emoji/core.pyi +++ b/stubs/emoji/emoji/core.pyi @@ -1,5 +1,4 @@ from collections.abc import Callable -from re import Pattern from typing_extensions import Literal, TypedDict _DEFAULT_DELIMITER: str @@ -29,7 +28,6 @@ def demojize( handle_version: str | Callable[[str, dict[str, str]], str] | None = ..., ) -> str: ... def replace_emoji(string: str, replace: str | Callable[[str, dict[str, str]], str] = ..., version: float | None = ...) -> str: ... -def get_emoji_regexp(language: str | None = ...) -> Pattern[str]: ... def emoji_list(string: str) -> list[_EmojiListReturn]: ... def distinct_emoji_list(string: str) -> list[str]: ... def emoji_count(string: str, unique: bool = ...) -> int: ... From 5b36eb54a7b1a63ed5e35e6a4e03ee9245497de0 Mon Sep 17 00:00:00 2001 From: Kevin Kirsche Date: Thu, 28 Jul 2022 13:16:18 -0400 Subject: [PATCH 7/7] fix: feedback RE: Incomplete return, import, and version --- stubs/emoji/emoji/core.pyi | 2 +- stubs/emoji/emoji/unicode_codes/__init__.pyi | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/stubs/emoji/emoji/core.pyi b/stubs/emoji/emoji/core.pyi index d3b2d5f89a11..867b5e5d7f6b 100644 --- a/stubs/emoji/emoji/core.pyi +++ b/stubs/emoji/emoji/core.pyi @@ -27,7 +27,7 @@ def demojize( version: float | None = ..., handle_version: str | Callable[[str, dict[str, str]], str] | None = ..., ) -> str: ... -def replace_emoji(string: str, replace: str | Callable[[str, dict[str, str]], str] = ..., version: float | None = ...) -> str: ... +def replace_emoji(string: str, replace: str | Callable[[str, dict[str, str]], str] = ..., version: float = ...) -> str: ... def emoji_list(string: str) -> list[_EmojiListReturn]: ... def distinct_emoji_list(string: str) -> list[str]: ... def emoji_count(string: str, unique: bool = ...) -> int: ... diff --git a/stubs/emoji/emoji/unicode_codes/__init__.pyi b/stubs/emoji/emoji/unicode_codes/__init__.pyi index 379116163c0e..9e698a6b533f 100644 --- a/stubs/emoji/emoji/unicode_codes/__init__.pyi +++ b/stubs/emoji/emoji/unicode_codes/__init__.pyi @@ -1,8 +1,6 @@ -from _typeshed import Incomplete - -from .data_dict import EMOJI_DATA as EMOJI_DATA, LANGUAGES as LANGUAGES, STATUS as STATUS +from .data_dict import * __all__ = ["get_emoji_unicode_dict", "get_aliases_unicode_dict", "EMOJI_DATA", "STATUS", "LANGUAGES"] -def get_emoji_unicode_dict(lang: str) -> Incomplete: ... +def get_emoji_unicode_dict(lang: str) -> dict[str, str]: ... def get_aliases_unicode_dict() -> dict[str, str]: ...