forked from platypush/platypush
[#240] Migrated clipboard
plugin from pyperclip
to pyclip
.
Closes: #240
This commit is contained in:
parent
c645ce6bb8
commit
7a368ebbb8
5 changed files with 21 additions and 11 deletions
|
@ -4,6 +4,15 @@ All notable changes to this project will be documented in this file.
|
|||
Given the high speed of development in the first phase, changes are being
|
||||
reported only starting from v0.20.2.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Fixed
|
||||
|
||||
- Migrated the `clipboard` integration from `pyperclip` to `pyclip` (see
|
||||
[#240](https://git.platypush.tech/platypush/platypush/issues/240)).
|
||||
`pyperclip` is unmaintained and largely broken, and `pyclip` seems to be a
|
||||
viable drop-in alternative.
|
||||
|
||||
## [0.24.5] - 2023-02-22
|
||||
|
||||
### Added
|
||||
|
|
|
@ -216,7 +216,7 @@ autodoc_mock_imports = [
|
|||
'bluetooth',
|
||||
'gevent.wsgi',
|
||||
'Adafruit_IO',
|
||||
'pyperclip',
|
||||
'pyclip',
|
||||
'pydbus',
|
||||
'inputs',
|
||||
'inotify',
|
||||
|
|
|
@ -12,7 +12,8 @@ class ClipboardPlugin(RunnablePlugin):
|
|||
monitor and get the current clipboard content.
|
||||
|
||||
Requires:
|
||||
- **pyperclip** (``pip install pyperclip``)
|
||||
|
||||
- **pyclip** (``pip install pyclip``)
|
||||
|
||||
Triggers:
|
||||
|
||||
|
@ -32,27 +33,27 @@ class ClipboardPlugin(RunnablePlugin):
|
|||
:param text: Text to copy
|
||||
:type text: str
|
||||
"""
|
||||
import pyperclip
|
||||
import pyclip
|
||||
|
||||
pyperclip.copy(text)
|
||||
pyclip.copy(text)
|
||||
|
||||
@action
|
||||
def paste(self):
|
||||
"""
|
||||
Get the current content of the clipboard
|
||||
"""
|
||||
import pyperclip
|
||||
import pyclip
|
||||
|
||||
return pyperclip.paste()
|
||||
return pyclip.paste(text=True)
|
||||
|
||||
def main(self):
|
||||
import pyperclip
|
||||
import pyclip
|
||||
|
||||
last_error_time = 0
|
||||
|
||||
while not self.should_stop():
|
||||
try:
|
||||
text = pyperclip.paste()
|
||||
text = pyclip.paste(text=True)
|
||||
if text and text != self._last_text:
|
||||
get_bus().post(ClipboardEvent(text=text))
|
||||
self._last_text = text
|
||||
|
|
|
@ -3,6 +3,6 @@ manifest:
|
|||
platypush.message.event.clipboard.ClipboardEvent: on clipboard update.
|
||||
install:
|
||||
pip:
|
||||
- pyperclip
|
||||
- pyclip
|
||||
package: platypush.plugins.clipboard
|
||||
type: plugin
|
||||
|
|
4
setup.py
4
setup.py
|
@ -17,7 +17,7 @@ def readfile(fname):
|
|||
def pkg_files(dir):
|
||||
paths = []
|
||||
# noinspection PyShadowingNames
|
||||
for (path, _, files) in os.walk(dir):
|
||||
for path, _, files in os.walk(dir):
|
||||
for file in files:
|
||||
paths.append(os.path.join('..', path, file))
|
||||
return paths
|
||||
|
@ -238,7 +238,7 @@ setup(
|
|||
# Support for SSH integration
|
||||
'ssh': ['paramiko'],
|
||||
# Support for clipboard integration
|
||||
'clipboard': ['pyperclip'],
|
||||
'clipboard': ['pyclip'],
|
||||
# Support for luma.oled display drivers
|
||||
'luma-oled': ['luma.oled @ git+https://github.com/rm-hull/luma.oled'],
|
||||
# Support for DBus integration
|
||||
|
|
Loading…
Reference in a new issue