Merge branch 'master' into 29-generic-entities-support

This commit is contained in:
Fabio Manganiello 2023-03-27 00:36:50 +02:00
commit 2781eb1fb1
Signed by: blacklight
GPG Key ID: D90FBA7F76362774
5 changed files with 20 additions and 10 deletions

View File

@ -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

View File

@ -216,7 +216,7 @@ autodoc_mock_imports = [
'bluetooth',
'gevent.wsgi',
'Adafruit_IO',
'pyperclip',
'pyclip',
'pydbus',
'inputs',
'inotify',

View File

@ -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

View File

@ -3,6 +3,6 @@ manifest:
platypush.message.event.clipboard.ClipboardEvent: on clipboard update.
install:
pip:
- pyperclip
- pyclip
package: platypush.plugins.clipboard
type: plugin

View File

@ -242,7 +242,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