# 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 . import pyclip from sshare.plugins.config import Argument from sshare.plugins.config import Flag from sshare.plugins.config import NoDefault from sshare.plugins.source import Raw plugin_type = [ "source", "result" ] activate = { "source": [ "from_clipboard" ], "result": [ "to_clipboard" ], } config = { "protocol": "https", "host": NoDefault, "port": None, "path": "", } args = { "from_clipboard": Argument( short="p", long="paste", action="store_const", const=Flag, help="Upload the contents of the clipboard" ), "to_clipboard": Argument( short="c", long="copy", action="store_const", const=Flag, help="Copy the resultant URL to the clipboard" ), } def source(): logger.info("Uploading contents of clipboard") return Raw("txt", pyclip.paste()) def result(name): if config.port: config.port = f":{config.port}" else: config.port = "" pyclip.copy(f"{config.protocol}://{config.host}{config.port}{config.path}/{name}")