mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 01:00:29 +08:00
show streamer version
This commit is contained in:
parent
a449b39c52
commit
95bc1536b2
@ -1,8 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
import signal
|
import signal
|
||||||
import asyncio
|
import asyncio
|
||||||
import platform
|
|
||||||
import functools
|
|
||||||
import json
|
import json
|
||||||
import time
|
import time
|
||||||
|
|
||||||
@ -33,17 +31,6 @@ from .logging import get_logger
|
|||||||
__version__ = "0.78"
|
__version__ = "0.78"
|
||||||
|
|
||||||
|
|
||||||
@functools.lru_cache()
|
|
||||||
def _get_system_info() -> Dict[str, Dict[str, str]]:
|
|
||||||
return {
|
|
||||||
"version": {
|
|
||||||
"platform": platform.platform(),
|
|
||||||
"python": platform.python_version(),
|
|
||||||
"kvmd": __version__,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# =====
|
# =====
|
||||||
def _system_task(method: Callable) -> Callable:
|
def _system_task(method: Callable) -> Callable:
|
||||||
async def wrap(self: "Server") -> None:
|
async def wrap(self: "Server") -> None:
|
||||||
@ -170,7 +157,13 @@ class Server: # pylint: disable=too-many-instance-attributes
|
|||||||
# ===== INFO
|
# ===== INFO
|
||||||
|
|
||||||
async def __info_handler(self, _: aiohttp.web.Request) -> aiohttp.web.Response:
|
async def __info_handler(self, _: aiohttp.web.Request) -> aiohttp.web.Response:
|
||||||
return _json(_get_system_info())
|
return _json({
|
||||||
|
"version": {
|
||||||
|
"kvmd": __version__,
|
||||||
|
"streamer": await self.__streamer.get_version(),
|
||||||
|
},
|
||||||
|
"streamer": self.__streamer.get_app(),
|
||||||
|
})
|
||||||
|
|
||||||
# ===== WEBSOCKET
|
# ===== WEBSOCKET
|
||||||
|
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
import os
|
||||||
import asyncio
|
import asyncio
|
||||||
import asyncio.subprocess
|
import asyncio.subprocess
|
||||||
|
|
||||||
@ -64,6 +65,18 @@ class Streamer: # pylint: disable=too-many-instance-attributes
|
|||||||
"quality": self.__quality,
|
"quality": self.__quality,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def get_app(self) -> str:
|
||||||
|
return os.path.basename(self.__cmd[0])
|
||||||
|
|
||||||
|
async def get_version(self) -> str:
|
||||||
|
proc = await asyncio.create_subprocess_exec(
|
||||||
|
*[self.__cmd[0], "--version"],
|
||||||
|
stdout=asyncio.subprocess.PIPE,
|
||||||
|
stderr=asyncio.subprocess.DEVNULL,
|
||||||
|
)
|
||||||
|
(stdout, _) = await proc.communicate()
|
||||||
|
return stdout.decode(errors="ignore").strip()
|
||||||
|
|
||||||
async def cleanup(self) -> None:
|
async def cleanup(self) -> None:
|
||||||
if self.is_running():
|
if self.is_running():
|
||||||
await self.stop()
|
await self.stop()
|
||||||
|
|||||||
@ -541,12 +541,8 @@
|
|||||||
<td id="about-version-kvmd" class="version"></td>
|
<td id="about-version-kvmd" class="version"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Python:</td>
|
<td>Streamer:</td>
|
||||||
<td id="about-version-python" class="version"></td>
|
<td id="about-version-streamer" class="version"></td>
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Platform:</td>
|
|
||||||
<td id="about-version-platform" class="version"></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@ -20,11 +20,10 @@ function Session(atx, hid, msd) {
|
|||||||
var http = tools.makeRequest("GET", "/kvmd/info", function() {
|
var http = tools.makeRequest("GET", "/kvmd/info", function() {
|
||||||
if (http.readyState === 4) {
|
if (http.readyState === 4) {
|
||||||
if (http.status === 200) {
|
if (http.status === 200) {
|
||||||
var version = JSON.parse(http.responseText).result.version;
|
var info = JSON.parse(http.responseText).result;
|
||||||
$("kvmd-version").innerHTML = "kvmd " + version.kvmd;
|
$("kvmd-version").innerHTML = "Web-UI " + info.version.kvmd;
|
||||||
$("about-version-kvmd").innerHTML = version.kvmd;
|
$("about-version-kvmd").innerHTML = info.version.kvmd;
|
||||||
$("about-version-python").innerHTML = version.python;
|
$("about-version-streamer").innerHTML = info.version.streamer + " (" + info.streamer + ")";
|
||||||
$("about-version-platform").innerHTML = version.platform;
|
|
||||||
} else {
|
} else {
|
||||||
setTimeout(__loadKvmdVersion, 1000);
|
setTimeout(__loadKvmdVersion, 1000);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user