update eaf package

This commit is contained in:
2021-01-30 14:52:51 +01:00
parent 84eb4929ee
commit 5207af83cb
4981 changed files with 11795 additions and 761570 deletions

View File

@@ -20,6 +20,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from PyQt5 import QtCore
from PyQt5.QtGui import QClipboard
from PyQt5.QtWidgets import QApplication
import functools
import os
import socket
@@ -128,8 +130,32 @@ def call_and_check_code(popen_args, on_exit, stdout_file=None):
# returns immediately after the thread starts
return thread
def get_clipboard_text():
''' Get text from system clipboard.'''
clipboard = QApplication.clipboard()
text = clipboard.text()
if text:
return text
if clipboard.supportsSelection():
return clipboard.text(QClipboard.Selection)
return ""
def set_clipboard_text(text):
''' Set text to system clipboard.'''
clipboard = QApplication.clipboard()
clipboard.setText(text)
if clipboard.supportsSelection():
clipboard.setText(text, QClipboard.Selection)
def interactive(insert_or_do = False, msg_emacs = None, new_name = None):
def wrap(f):
"""
Defines an interactive command invoked from Emacs.
"""
def wrap(f, insert_or_do = insert_or_do, msg_emacs = msg_emacs, new_name = new_name):
f.interactive = True
f.insert_or_do = insert_or_do
f.msg_emacs = msg_emacs
@@ -138,4 +164,23 @@ def interactive(insert_or_do = False, msg_emacs = None, new_name = None):
def wrapped_f(*args, **kwargs):
return f(*args, **kwargs)
return wrapped_f
# Support both @interactive and @interactive() as valid syntax.
if callable(insert_or_do):
return wrap(insert_or_do, insert_or_do = False, msg_emacs = None, new_name = None)
else:
return wrap
def abstract(f):
"""
Add a `abstract` flag to a method,
We don't use abs.abstractmethod cause we don't need strict
implementation check.
"""
f.abstract = True
@wraps(f)
def wrap(*args, **kwargs):
return f(*args, **kwargs)
return wrap