diff --git a/_test_out.py b/_test_out.py
deleted file mode 100755
index 94711d4..0000000
--- a/_test_out.py
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/python
-
-for i in range(0, 10000):
- print(f"\033[{(i % 7) + 30}mHello World!")
- print(f"\033[{(i % 7) + 90}mHello World!")
diff --git a/pyproject.toml b/pyproject.toml
index 3fb26fb..acb06ef 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -29,8 +29,3 @@ sshare-validate = "sshare.validator:main"
[tool.setuptools_scm]
version_file = "src/sshare/version.py"
-
-[tool.pytest.ini_options]
-addopts = [
- "--import-mode=importlib"
-]
diff --git a/src/sshare/plugin/config.py b/src/sshare/plugin/config.py
index b12f099..6df34ed 100644
--- a/src/sshare/plugin/config.py
+++ b/src/sshare/plugin/config.py
@@ -12,8 +12,6 @@
# You should have received a copy of the GNU General Public License along with
# SSHare. If not, see .
-import argparse
-
class NoDefault: pass
def Flag(name=None, help=None):
@@ -35,8 +33,6 @@ class Argument:
self._short = None
self._long = name
- self._is_remainder = kwargs.get("nargs", None) == argparse.REMAINDER
-
if not "default" in kwargs:
kwargs["default"] = NoDefault
kwargs["default"] = _None(kwargs["default"])
@@ -47,8 +43,6 @@ class Argument:
if self._long == None:
self._long = argument
self._kwargs["metavar"] = argument
- if self._is_remainder:
- self._long = self.dest()
def set_flags(self, short, long):
if short != None:
@@ -81,13 +75,11 @@ class Argument:
def add(self, arg_parser):
flags = []
- kwargs = self._kwargs
- if self._is_remainder:
- flags.append(self._long)
- else:
- if self._short != None: flags.append(f"-{self._short}")
- if self._long != None: flags.append(f"--{self._long}")
- kwargs["dest"] = self.dest()
+ if self._short != None: flags.append(f"-{self._short}")
+ if self._long != None: flags.append(f"--{self._long}")
+ kwargs = self._kwargs | {
+ "dest": self.dest()
+ }
arg_parser.add_argument(
*flags,
**kwargs
diff --git a/src/sshare/plugin/plugin.py b/src/sshare/plugin/plugin.py
index dc413c6..3d75c6b 100644
--- a/src/sshare/plugin/plugin.py
+++ b/src/sshare/plugin/plugin.py
@@ -14,9 +14,6 @@
import importlib
import importlib.util
-import sys
-
-from pathlib import Path
from sshare.plugin.config import Flag
from sshare.plugin.config import NoDefault
@@ -35,7 +32,6 @@ class PluginLoader:
in ([ "command_line" ] if command_line else []) + [
"file",
"stdin",
- "wrap_command",
"current_time",
"append_type",
"ssh",
@@ -53,9 +49,9 @@ class PluginLoader:
]
@staticmethod
- def at(*args, logger=None, config=dict(), flags=dict()):
+ def at(logger=None, config=dict(), flags=dict(), *args):
return [
- Plugin.external(Path(plugin), logger, config, flags)
+ Plugin.external(plugin, logger, config, flags)
for plugin
in args
]
diff --git a/src/sshare/plugins/stdin.py b/src/sshare/plugins/stdin.py
index d4edc64..7b219b6 100644
--- a/src/sshare/plugins/stdin.py
+++ b/src/sshare/plugins/stdin.py
@@ -21,7 +21,7 @@ plugin_type = "source"
activate = { "stdin" }
config = {
- "suffix": "txt",
+ "suffix": "txt"
}
args = {
"stdin": Flag(help="Upload from stdin")
diff --git a/src/sshare/plugins/wrap_command.py b/src/sshare/plugins/wrap_command.py
deleted file mode 100644
index 410874b..0000000
--- a/src/sshare/plugins/wrap_command.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# 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 argparse
-import locale
-import subprocess
-
-from sshare.plugin.config import Argument
-from sshare.plugin.source import Raw
-
-plugin_type = "source"
-
-activate = { "command" }
-config = {
- "suffix": "txt",
-}
-args = {
- "command": Argument(
- nargs=argparse.REMAINDER,
- help="Upload the contents of the wrapped command",
- )
-}
-
-def init():
- config.command = config.command[1:]
-
-def get_source():
- output = b""
- with subprocess.Popen(
- config.command,
- stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT,
- bufsize=0,
- ) as process:
- for line in process.stdout:
- print(line.decode(locale.getpreferredencoding()), end="")
- output += line
-
- return Raw(config.suffix, output)
diff --git a/src/sshare/validator.py b/src/sshare/validator.py
index b003ba2..f4e21fd 100644
--- a/src/sshare/validator.py
+++ b/src/sshare/validator.py
@@ -113,7 +113,7 @@ def main():
arg_parser.add_argument(
"plugins",
nargs="*",
- help="plugin(s) to be validated (Default: all external plugins)",
+ help="plugin(s) to be validated",
)
arguments = arg_parser.parse_args()
if arguments.dev:
diff --git a/_test_in.py b/test_in.py
similarity index 100%
rename from _test_in.py
rename to test_in.py
diff --git a/test_out.py b/test_out.py
new file mode 100755
index 0000000..f89bd5d
--- /dev/null
+++ b/test_out.py
@@ -0,0 +1,4 @@
+#!/usr/bin/python
+
+for i in range(0, 5):
+ print("\033[91mHello World!")
diff --git a/tests/test_test.py b/tests/test_test.py
deleted file mode 100644
index 3c71169..0000000
--- a/tests/test_test.py
+++ /dev/null
@@ -1,4 +0,0 @@
-from src.sshare.plugin.config import Argument
-
-def test_foo():
- assert True