summaryrefslogtreecommitdiffstats
path: root/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard
diff options
context:
space:
mode:
authorshadchin <[email protected]>2022-02-10 16:44:30 +0300
committerDaniil Cherednik <[email protected]>2022-02-10 16:44:30 +0300
commit2598ef1d0aee359b4b6d5fdd1758916d5907d04f (patch)
tree012bb94d777798f1f56ac1cec429509766d05181 /contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard
parent6751af0b0c1b952fede40b19b71da8025b5d8bcf (diff)
Restoring authorship annotation for <[email protected]>. Commit 1 of 2.
Diffstat (limited to 'contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard')
-rw-r--r--contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/__init__.py30
-rw-r--r--contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/base.py214
-rw-r--r--contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/in_memory.py92
-rw-r--r--contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/pyperclip.py84
4 files changed, 210 insertions, 210 deletions
diff --git a/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/__init__.py b/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/__init__.py
index 160b50aca5e..4311356cebf 100644
--- a/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/__init__.py
+++ b/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/__init__.py
@@ -1,15 +1,15 @@
-from .base import Clipboard, ClipboardData, DummyClipboard, DynamicClipboard
-from .in_memory import InMemoryClipboard
-
-# We are not importing `PyperclipClipboard` here, because it would require the
-# `pyperclip` module to be present.
-
-# from .pyperclip import PyperclipClipboard
-
-__all__ = [
- "Clipboard",
- "ClipboardData",
- "DummyClipboard",
- "DynamicClipboard",
- "InMemoryClipboard",
-]
+from .base import Clipboard, ClipboardData, DummyClipboard, DynamicClipboard
+from .in_memory import InMemoryClipboard
+
+# We are not importing `PyperclipClipboard` here, because it would require the
+# `pyperclip` module to be present.
+
+# from .pyperclip import PyperclipClipboard
+
+__all__ = [
+ "Clipboard",
+ "ClipboardData",
+ "DummyClipboard",
+ "DynamicClipboard",
+ "InMemoryClipboard",
+]
diff --git a/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/base.py b/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/base.py
index c24623dacc0..d492cf8cb01 100644
--- a/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/base.py
+++ b/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/base.py
@@ -1,107 +1,107 @@
-"""
-Clipboard for command line interface.
-"""
-from abc import ABCMeta, abstractmethod
-from typing import Callable, Optional
-
-from prompt_toolkit.selection import SelectionType
-
-__all__ = [
- "Clipboard",
- "ClipboardData",
- "DummyClipboard",
- "DynamicClipboard",
-]
-
-
-class ClipboardData:
- """
- Text on the clipboard.
-
- :param text: string
- :param type: :class:`~prompt_toolkit.selection.SelectionType`
- """
-
- def __init__(
- self, text: str = "", type: SelectionType = SelectionType.CHARACTERS
- ) -> None:
-
- self.text = text
- self.type = type
-
-
-class Clipboard(metaclass=ABCMeta):
- """
- Abstract baseclass for clipboards.
- (An implementation can be in memory, it can share the X11 or Windows
- keyboard, or can be persistent.)
- """
-
- @abstractmethod
- def set_data(self, data: ClipboardData) -> None:
- """
- Set data to the clipboard.
-
- :param data: :class:`~.ClipboardData` instance.
- """
-
- def set_text(self, text: str) -> None: # Not abstract.
- """
- Shortcut for setting plain text on clipboard.
- """
- self.set_data(ClipboardData(text))
-
- def rotate(self) -> None:
- """
- For Emacs mode, rotate the kill ring.
- """
-
- @abstractmethod
- def get_data(self) -> ClipboardData:
- """
- Return clipboard data.
- """
-
-
-class DummyClipboard(Clipboard):
- """
- Clipboard implementation that doesn't remember anything.
- """
-
- def set_data(self, data: ClipboardData) -> None:
- pass
-
- def set_text(self, text: str) -> None:
- pass
-
- def rotate(self) -> None:
- pass
-
- def get_data(self) -> ClipboardData:
- return ClipboardData()
-
-
-class DynamicClipboard(Clipboard):
- """
- Clipboard class that can dynamically returns any Clipboard.
-
- :param get_clipboard: Callable that returns a :class:`.Clipboard` instance.
- """
-
- def __init__(self, get_clipboard: Callable[[], Optional[Clipboard]]) -> None:
- self.get_clipboard = get_clipboard
-
- def _clipboard(self) -> Clipboard:
- return self.get_clipboard() or DummyClipboard()
-
- def set_data(self, data: ClipboardData) -> None:
- self._clipboard().set_data(data)
-
- def set_text(self, text: str) -> None:
- self._clipboard().set_text(text)
-
- def rotate(self) -> None:
- self._clipboard().rotate()
-
- def get_data(self) -> ClipboardData:
- return self._clipboard().get_data()
+"""
+Clipboard for command line interface.
+"""
+from abc import ABCMeta, abstractmethod
+from typing import Callable, Optional
+
+from prompt_toolkit.selection import SelectionType
+
+__all__ = [
+ "Clipboard",
+ "ClipboardData",
+ "DummyClipboard",
+ "DynamicClipboard",
+]
+
+
+class ClipboardData:
+ """
+ Text on the clipboard.
+
+ :param text: string
+ :param type: :class:`~prompt_toolkit.selection.SelectionType`
+ """
+
+ def __init__(
+ self, text: str = "", type: SelectionType = SelectionType.CHARACTERS
+ ) -> None:
+
+ self.text = text
+ self.type = type
+
+
+class Clipboard(metaclass=ABCMeta):
+ """
+ Abstract baseclass for clipboards.
+ (An implementation can be in memory, it can share the X11 or Windows
+ keyboard, or can be persistent.)
+ """
+
+ @abstractmethod
+ def set_data(self, data: ClipboardData) -> None:
+ """
+ Set data to the clipboard.
+
+ :param data: :class:`~.ClipboardData` instance.
+ """
+
+ def set_text(self, text: str) -> None: # Not abstract.
+ """
+ Shortcut for setting plain text on clipboard.
+ """
+ self.set_data(ClipboardData(text))
+
+ def rotate(self) -> None:
+ """
+ For Emacs mode, rotate the kill ring.
+ """
+
+ @abstractmethod
+ def get_data(self) -> ClipboardData:
+ """
+ Return clipboard data.
+ """
+
+
+class DummyClipboard(Clipboard):
+ """
+ Clipboard implementation that doesn't remember anything.
+ """
+
+ def set_data(self, data: ClipboardData) -> None:
+ pass
+
+ def set_text(self, text: str) -> None:
+ pass
+
+ def rotate(self) -> None:
+ pass
+
+ def get_data(self) -> ClipboardData:
+ return ClipboardData()
+
+
+class DynamicClipboard(Clipboard):
+ """
+ Clipboard class that can dynamically returns any Clipboard.
+
+ :param get_clipboard: Callable that returns a :class:`.Clipboard` instance.
+ """
+
+ def __init__(self, get_clipboard: Callable[[], Optional[Clipboard]]) -> None:
+ self.get_clipboard = get_clipboard
+
+ def _clipboard(self) -> Clipboard:
+ return self.get_clipboard() or DummyClipboard()
+
+ def set_data(self, data: ClipboardData) -> None:
+ self._clipboard().set_data(data)
+
+ def set_text(self, text: str) -> None:
+ self._clipboard().set_text(text)
+
+ def rotate(self) -> None:
+ self._clipboard().rotate()
+
+ def get_data(self) -> ClipboardData:
+ return self._clipboard().get_data()
diff --git a/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/in_memory.py b/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/in_memory.py
index 1902e36a55f..35cb5645709 100644
--- a/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/in_memory.py
+++ b/contrib/python/prompt-toolkit/py3/prompt_toolkit/clipboard/in_memory.py
@@ -1,46 +1,46 @@
-from collections import deque
-from typing import Deque, Optional
-
-from .base import Clipboard, ClipboardData
-
-__all__ = [
- "InMemoryClipboard",
-]
-
-
-class InMemoryClipboard(Clipboard):
- """
- Default clipboard implementation.
- Just keep the data in memory.
-
- This implements a kill-ring, for Emacs mode.
- """
-
- def __init__(
- self, data: Optional[ClipboardData] = None, max_size: int = 60
- ) -> None:
-
- assert max_size >= 1
-
- self.max_size = max_size
- self._ring: Deque[ClipboardData] = deque()
-
- if data is not None:
- self.set_data(data)
-
- def set_data(self, data: ClipboardData) -> None:
- self._ring.appendleft(data)
-
- while len(self._ring) > self.max_size:
- self._ring.pop()
-
- def get_data(self) -> ClipboardData:
- if self._ring:
- return self._ring[0]
- else:
- return ClipboardData()
-
- def rotate(self) -> None:
- if self._ring:
- # Add the very first item at the end.
- self._ring.append(self._ring.popleft())
+from collections import deque
+from typing import Deque, Optional
+
+from .base import Clipboard, ClipboardData
+
+__all__ = [
+ "InMemoryClipboard",
+]
+
+
+class InMemoryClipboard(Clipboard):
+ """
+ Default clipboard implementation.
+ Just keep the data in memory.
+
+ This implements a kill-ring, for Emacs mode.
+ """
+
+ def __init__(
+ self, data: Optional[ClipboardData] = None, max_size: int = 60
+ ) -> None:
+
+ assert max_size >= 1
+
+ self.max_size = max_size
+ self._ring: Deque[ClipboardData] = deque()
+
+ if data is not None:
+ self.set_data(data)
+
+ def set_data(self, data: ClipboardData) -> None:
+ self._ring.appendleft(data)
+
+ while len(self._ring) > self.max_size:
+ self._ring.pop()
+
+ def get_data(self) -> ClipboardData:
+ if self._ring:
+ return self._ring[0]
+ else:
+ return ClipboardData()
+
+ def rotate(self) -> None:
+ if self._ring:
+ # Add the very first item at the end.
+ self._ring.append(self._ring.popleft())
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 c8cb7afb672..5491e51bfe1 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,
+ )