summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevaev Maxim <[email protected]>2019-05-01 09:08:16 +0300
committerDevaev Maxim <[email protected]>2019-05-01 09:08:16 +0300
commitf1c86cca4fdd26aa83a239342d022152fc1f4b8a (patch)
tree369d7d8f7e64f6f2d6b0d4500a3f85bd89aab543
parent374ff9cf9ea463b4d49227f89c5798d249330fd0 (diff)
better setup.py
-rwxr-xr-xsetup.py36
-rw-r--r--testenv/linters/vulture-wl.py7
-rw-r--r--testenv/tox.ini12
3 files changed, 34 insertions, 21 deletions
diff --git a/setup.py b/setup.py
index a3a84994..83605e49 100755
--- a/setup.py
+++ b/setup.py
@@ -24,16 +24,27 @@
import os
import textwrap
+import setuptools.command.easy_install
from setuptools import setup
-from setuptools.command.easy_install import ScriptWriter
# =====
-def main() -> None:
+class _ScriptWriter(setuptools.command.easy_install.ScriptWriter):
+ template = textwrap.dedent("""
+ # EASY-INSTALL-ENTRY-SCRIPT: {spec},{group},{name}
+
+ __requires__ = "{spec}"
+
+ from {module} import main
+
+ if __name__ == "__main__":
+ main()
+ """).strip()
+
+ @classmethod
def get_args(cls, dist, header=None): # type: ignore
if header is None:
header = cls.get_header()
-
spec = str(dist.as_requirement())
for group_type in ["console", "gui"]:
group = group_type + "_scripts"
@@ -45,21 +56,14 @@ def main() -> None:
name=name,
module=ep.module_name,
)
- args = cls._get_script_args(group_type, name, header, script_text)
- for res in args:
- yield res
-
- ScriptWriter.get_args = classmethod(get_args)
- ScriptWriter.template = textwrap.dedent("""
- # EASY-INSTALL-ENTRY-SCRIPT: {spec},{group},{name}
+ yield from cls._get_script_args(group_type, name, header, script_text)
- __requires__ = "{spec}"
-
- from {module} import main
- if __name__ == "__main__":
- main()
- """).strip()
+# =====
+def main() -> None:
+ setuptools.command.easy_install.ScriptWriter = _ScriptWriter
+ setuptools.command.easy_install.get_script_args = _ScriptWriter.get_script_args
+ setuptools.command.easy_install.get_script_header = _ScriptWriter.get_script_header
setup(
name="kvmd",
diff --git a/testenv/linters/vulture-wl.py b/testenv/linters/vulture-wl.py
index 0933cb62..550190f5 100644
--- a/testenv/linters/vulture-wl.py
+++ b/testenv/linters/vulture-wl.py
@@ -3,8 +3,13 @@ _MassStorageDeviceInfo.product
_MassStorageDeviceInfo.real
_MassStorageDeviceInfo.hw
_MassStorageDeviceInfo.image
+
+IpmiServer.handle_raw_request
+
fake_rpi.RPi.GPIO
+
_KeyMapping.kvmd_code
_KeyMapping.arduino_hid_key
_KeyMapping.web_key
-IpmiServer.handle_raw_request
+
+_ScriptWriter.get_args
diff --git a/testenv/tox.ini b/testenv/tox.ini
index b63b5071..08d4d905 100644
--- a/testenv/tox.ini
+++ b/testenv/tox.ini
@@ -8,14 +8,16 @@ sitepackages = true
changedir = /src
[testenv:flake8]
-commands = flake8 --config=testenv/linters/flake8.ini kvmd genmap.py testenv/tests
+whitelist_externals = bash
+commands = bash -c 'flake8 --config=testenv/linters/flake8.ini kvmd testenv/tests *.py'
deps =
flake8
flake8-double-quotes
-rrequirements.txt
[testenv:pylint]
-commands = pylint --rcfile=testenv/linters/pylint.ini --output-format=colorized --reports=no kvmd genmap.py testenv/tests
+whitelist_externals = bash
+commands = bash -c 'pylint --rcfile=testenv/linters/pylint.ini --output-format=colorized --reports=no kvmd testenv/tests *.py'
deps =
pylint
pytest
@@ -24,13 +26,15 @@ deps =
-rrequirements.txt
[testenv:mypy]
-commands = mypy --config-file=testenv/linters/mypy.ini --cache-dir=testenv/.mypy_cache kvmd genmap.py testenv/tests
+whitelist_externals = bash
+commands = bash -c 'mypy --config-file=testenv/linters/mypy.ini --cache-dir=testenv/.mypy_cache kvmd testenv/tests *.py'
deps =
mypy
-rrequirements.txt
[testenv:vulture]
-commands = vulture --ignore-names=_format_P,Plugin --ignore-decorators=@_exposed,@_system_task,@pytest.fixture kvmd genmap.py testenv/tests testenv/linters/vulture-wl.py
+whitelist_externals = bash
+commands = bash -c 'vulture --ignore-names=_format_P,Plugin --ignore-decorators=@_exposed,@_system_task,@pytest.fixture kvmd testenv/tests *.py testenv/linters/vulture-wl.py'
deps =
vulture
-rrequirements.txt