diff options
author | shadchin <shadchin@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
commit | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (patch) | |
tree | 64175d5cadab313b3e7039ebaa06c5bc3295e274 /contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/pyperclip.py | |
parent | 2598ef1d0aee359b4b6d5fdd1758916d5907d04f (diff) | |
download | ydb-e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0.tar.gz |
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/pyperclip.py')
-rw-r--r-- | contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/pyperclip.py | 84 |
1 files changed, 42 insertions, 42 deletions
diff --git a/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/pyperclip.py b/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/pyperclip.py index 5491e51bfe1..c8cb7afb672 100644 --- a/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/pyperclip.py +++ b/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/pyperclip.py @@ -1,42 +1,42 @@ -from typing import Optional - -import pyperclip - -from prompt_toolkit.selection import SelectionType - -from .base import Clipboard, ClipboardData - -__all__ = [ - "PyperclipClipboard", -] - - -class PyperclipClipboard(Clipboard): - """ - Clipboard that synchronizes with the Windows/Mac/Linux system clipboard, - using the pyperclip module. - """ - - def __init__(self) -> None: - self._data: Optional[ClipboardData] = None - - def set_data(self, data: ClipboardData) -> None: - self._data = data - pyperclip.copy(data.text) - - def get_data(self) -> ClipboardData: - text = pyperclip.paste() - - # When the clipboard data is equal to what we copied last time, reuse - # the `ClipboardData` instance. That way we're sure to keep the same - # `SelectionType`. - if self._data and self._data.text == text: - return self._data - - # Pyperclip returned something else. Create a new `ClipboardData` - # instance. - else: - return ClipboardData( - text=text, - type=SelectionType.LINES if "\n" in text else SelectionType.CHARACTERS, - ) +from typing import Optional + +import pyperclip + +from prompt_toolkit.selection import SelectionType + +from .base import Clipboard, ClipboardData + +__all__ = [ + "PyperclipClipboard", +] + + +class PyperclipClipboard(Clipboard): + """ + Clipboard that synchronizes with the Windows/Mac/Linux system clipboard, + using the pyperclip module. + """ + + def __init__(self) -> None: + self._data: Optional[ClipboardData] = None + + def set_data(self, data: ClipboardData) -> None: + self._data = data + pyperclip.copy(data.text) + + def get_data(self) -> ClipboardData: + text = pyperclip.paste() + + # When the clipboard data is equal to what we copied last time, reuse + # the `ClipboardData` instance. That way we're sure to keep the same + # `SelectionType`. + if self._data and self._data.text == text: + return self._data + + # Pyperclip returned something else. Create a new `ClipboardData` + # instance. + else: + return ClipboardData( + text=text, + type=SelectionType.LINES if "\n" in text else SelectionType.CHARACTERS, + ) |