refactoring

This commit is contained in:
Devaev Maxim 2018-11-06 01:55:13 +03:00
parent 1ac968e924
commit f0ae427d8e
17 changed files with 109 additions and 113 deletions

View File

@ -6,7 +6,7 @@ parse = (?P<major>\d+)\.(?P<minor>\d+)(\.(?P<patch>\d+)(\-(?P<release>[a-z]+))?)
serialize = serialize =
{major}.{minor} {major}.{minor}
[bumpversion:file:kvmd/server.py] [bumpversion:file:kvmd/__init__.py]
search = __version__ = "{current_version}" search = __version__ = "{current_version}"
replace = __version__ = "{new_version}" replace = __version__ = "{new_version}"

View File

@ -10,7 +10,7 @@ TESTENV_CMD ?= /bin/bash -c " \
&& ln -s $(TESTENV_VIDEO) /dev/kvmd-streamer \ && ln -s $(TESTENV_VIDEO) /dev/kvmd-streamer \
&& (losetup -d /dev/kvmd-msd || true) \ && (losetup -d /dev/kvmd-msd || true) \
&& losetup /dev/kvmd-msd /root/loop.img \ && losetup /dev/kvmd-msd /root/loop.img \
&& python -m kvmd -c testenv/kvmd.conf \ && python -m kvmd.apps.kvmd -c testenv/kvmd.conf \
" "

View File

@ -1,85 +1 @@
import asyncio __version__ = "0.86"
from .application import init
from .logging import get_logger
from .logging import Log
from .hid import Hid
from .atx import Atx
from .msd import MassStorageDevice
from .streamer import Streamer
from .server import Server
from . import gpio
# =====
from .server import __version__ # noqa: F401
# =====
def main() -> None:
config = init()
with gpio.bcm():
loop = asyncio.get_event_loop()
log = Log(
services=list(config["log"]["services"]),
loop=loop,
)
hid = Hid(
reset=int(config["hid"]["pinout"]["reset"]),
device_path=str(config["hid"]["device"]),
speed=int(config["hid"]["speed"]),
reset_delay=float(config["hid"]["reset_delay"]),
)
atx = Atx(
power_led=int(config["atx"]["pinout"]["power_led"]),
hdd_led=int(config["atx"]["pinout"]["hdd_led"]),
power_switch=int(config["atx"]["pinout"]["power_switch"]),
reset_switch=int(config["atx"]["pinout"]["reset_switch"]),
click_delay=float(config["atx"]["click_delay"]),
long_click_delay=float(config["atx"]["long_click_delay"]),
)
msd = MassStorageDevice(
target=int(config["msd"]["pinout"]["target"]),
reset=int(config["msd"]["pinout"]["reset"]),
device_path=str(config["msd"]["device"]),
init_delay=float(config["msd"]["init_delay"]),
reset_delay=float(config["msd"]["reset_delay"]),
write_meta=bool(config["msd"]["write_meta"]),
loop=loop,
)
streamer = Streamer(
cap_power=int(config["streamer"]["pinout"]["cap"]),
conv_power=int(config["streamer"]["pinout"]["conv"]),
sync_delay=float(config["streamer"]["sync_delay"]),
init_delay=float(config["streamer"]["init_delay"]),
init_restart_after=float(config["streamer"]["init_restart_after"]),
quality=int(config["streamer"]["quality"]),
soft_fps=int(config["streamer"]["soft_fps"]),
cmd=list(map(str, config["streamer"]["cmd"])),
loop=loop,
)
Server(
log=log,
hid=hid,
atx=atx,
msd=msd,
streamer=streamer,
heartbeat=float(config["server"]["heartbeat"]),
atx_state_poll=float(config["atx"]["state_poll"]),
streamer_shutdown_delay=float(config["streamer"]["shutdown_delay"]),
msd_chunk_size=int(config["msd"]["chunk_size"]),
loop=loop,
).run(
host=str(config["server"]["host"]),
port=int(config["server"]["port"]),
)
get_logger().info("Bye-bye")

View File

@ -0,0 +1,81 @@
import asyncio
from ...application import init
from ...logging import get_logger
from ...logging import Log
from ... import gpio
from .hid import Hid
from .atx import Atx
from .msd import MassStorageDevice
from .streamer import Streamer
from .server import Server
# =====
def main() -> None:
config = init()
with gpio.bcm():
loop = asyncio.get_event_loop()
log = Log(
services=list(config["log"]["services"]),
loop=loop,
)
hid = Hid(
reset=int(config["hid"]["pinout"]["reset"]),
device_path=str(config["hid"]["device"]),
speed=int(config["hid"]["speed"]),
reset_delay=float(config["hid"]["reset_delay"]),
)
atx = Atx(
power_led=int(config["atx"]["pinout"]["power_led"]),
hdd_led=int(config["atx"]["pinout"]["hdd_led"]),
power_switch=int(config["atx"]["pinout"]["power_switch"]),
reset_switch=int(config["atx"]["pinout"]["reset_switch"]),
click_delay=float(config["atx"]["click_delay"]),
long_click_delay=float(config["atx"]["long_click_delay"]),
)
msd = MassStorageDevice(
target=int(config["msd"]["pinout"]["target"]),
reset=int(config["msd"]["pinout"]["reset"]),
device_path=str(config["msd"]["device"]),
init_delay=float(config["msd"]["init_delay"]),
reset_delay=float(config["msd"]["reset_delay"]),
write_meta=bool(config["msd"]["write_meta"]),
loop=loop,
)
streamer = Streamer(
cap_power=int(config["streamer"]["pinout"]["cap"]),
conv_power=int(config["streamer"]["pinout"]["conv"]),
sync_delay=float(config["streamer"]["sync_delay"]),
init_delay=float(config["streamer"]["init_delay"]),
init_restart_after=float(config["streamer"]["init_restart_after"]),
quality=int(config["streamer"]["quality"]),
soft_fps=int(config["streamer"]["soft_fps"]),
cmd=list(map(str, config["streamer"]["cmd"])),
loop=loop,
)
Server(
log=log,
hid=hid,
atx=atx,
msd=msd,
streamer=streamer,
heartbeat=float(config["server"]["heartbeat"]),
atx_state_poll=float(config["atx"]["state_poll"]),
streamer_shutdown_delay=float(config["streamer"]["shutdown_delay"]),
msd_chunk_size=int(config["msd"]["chunk_size"]),
loop=loop,
).run(
host=str(config["server"]["host"]),
port=int(config["server"]["port"]),
)
get_logger().info("Bye-bye")

View File

@ -2,10 +2,10 @@ import asyncio
from typing import Dict from typing import Dict
from .logging import get_logger from ...logging import get_logger
from . import aioregion from ... import aioregion
from . import gpio from ... import gpio
# ===== # =====

View File

@ -14,14 +14,14 @@ import yaml
import serial import serial
import setproctitle import setproctitle
from . import gpio from ...logging import get_logger
from .logging import get_logger from ... import gpio
# ===== # =====
def _get_keymap() -> Dict[str, int]: def _get_keymap() -> Dict[str, int]:
return yaml.load(pkgutil.get_data(__name__, "data/keymap.yaml").decode()) # type: ignore return yaml.load(pkgutil.get_data("kvmd", "data/keymap.yaml").decode()) # type: ignore
_KEYMAP = _get_keymap() _KEYMAP = _get_keymap()

View File

@ -15,10 +15,10 @@ import pyudev
import aiofiles import aiofiles
import aiofiles.base import aiofiles.base
from . import aioregion from ...logging import get_logger
from . import gpio
from .logging import get_logger from ... import aioregion
from ... import gpio
# ===== # =====

View File

@ -13,7 +13,12 @@ from typing import Optional
import aiohttp.web import aiohttp.web
import setproctitle import setproctitle
from .aioregion import RegionIsBusyError from ...logging import get_logger
from ...logging import Log
from ...aioregion import RegionIsBusyError
from ... import __version__
from .hid import Hid from .hid import Hid
@ -24,13 +29,6 @@ from .msd import MassStorageDevice
from .streamer import Streamer from .streamer import Streamer
from .logging import get_logger
from .logging import Log
# =====
__version__ = "0.86"
# ===== # =====
def _system_task(method: Callable) -> Callable: def _system_task(method: Callable) -> Callable:

View File

@ -6,9 +6,9 @@ from typing import List
from typing import Dict from typing import Dict
from typing import Optional from typing import Optional
from .logging import get_logger from ...logging import get_logger
from . import gpio from ... import gpio
# ===== # =====

View File

@ -21,9 +21,10 @@ def main() -> None:
packages=[ packages=[
"kvmd", "kvmd",
"kvmd.extras", "kvmd.apps",
"kvmd.extras.cleanup", "kvmd.apps.kvmd",
"kvmd.extras.wscli", "kvmd.apps.cleanup",
"kvmd.apps.wscli",
], ],
package_data={ package_data={
@ -32,9 +33,9 @@ def main() -> None:
entry_points={ entry_points={
"console_scripts": [ "console_scripts": [
"kvmd = kvmd:main", "kvmd = kvmd.apps.kvmd:main",
"kvmd-cleanup = kvmd.extras.cleanup:main", "kvmd-cleanup = kvmd.apps.cleanup:main",
"kvmd-wscli = kvmd.extras.wscli:main", "kvmd-wscli = kvmd.apps.wscli:main",
], ],
}, },

View File

@ -21,7 +21,7 @@ function Session(atx, hid, msd) {
if (http.readyState === 4) { if (http.readyState === 4) {
if (http.status === 200) { if (http.status === 200) {
var info = JSON.parse(http.responseText).result; var info = JSON.parse(http.responseText).result;
$("kvmd-version").innerHTML = "Web-UI " + info.version.kvmd; $("kvmd-version").innerHTML = "kvmd v" + info.version.kvmd;
$("about-version-kvmd").innerHTML = info.version.kvmd; $("about-version-kvmd").innerHTML = info.version.kvmd;
$("about-version-streamer").innerHTML = info.version.streamer + " (" + info.streamer + ")"; $("about-version-streamer").innerHTML = info.version.streamer + " (" + info.streamer + ")";
} else { } else {