diff --git a/README.md b/README.md index 16ad94c..8647ced 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,14 @@ think deserved to be included by default ## Plugins +### clipboard + +Upload the contents of the clipboard and/or copy the resultant URL to the clipboard + ### latest Upload the most recently touched file from a directory -### clipboard +### notification -Upload the contents of the clipboard and/or copy the resultant URL to the clipboard +Send a notification when the upload has completed diff --git a/clipboard.py b/clipboard.py index 91c606e..d310965 100644 --- a/clipboard.py +++ b/clipboard.py @@ -31,7 +31,7 @@ config = { "port": None, "path": "", } -args={ +args = { "from_clipboard": Argument( short="p", long="paste", diff --git a/notification.py b/notification.py new file mode 100644 index 0000000..0bbd2b8 --- /dev/null +++ b/notification.py @@ -0,0 +1,51 @@ +# This file is part of SSHare. +# +# SSHare is free software: you can redistribute it and/or modify it under the terms of +# the GNU General Public License as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# +# SSHare is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# SSHare. If not, see . + +from desktop_notifier import DesktopNotifierSync, Urgency, Button + +from plugins.config import Argument +from plugins.config import Flag +from plugins.config import NoDefault + +plugin_type = [ "result" ] + +config = { + "protocol": "https", + "host": NoDefault, + "port": None, + "path": "", +} +args = { + "activate": Argument( + short="n", + long="notify", + action="store_const", + const=Flag, + help="Send a desktop notification" + ) +} + +_notifier = DesktopNotifierSync() + +def result(name): + if config.port: + config.port = f":{config.port}" + else: + config.port = "" + url = f"{config.protocol}://{config.host}{config.port}{config.path}/{name}" + + _notifier.send( + title="SSHare - Upload Complete", + message=f"Uploaded to {url}", + )