# 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 sshare.plugins.config import Argument from sshare.plugins.config import Flag from sshare.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}", )