Compare commits
4 Commits
master
...
27-fix-htt
Author | SHA1 | Date | |
---|---|---|---|
a912e1b6bf | |||
fdcd67aae6 | |||
799280f074 | |||
202bf85f55 |
@ -1158,6 +1158,7 @@ done'
|
||||
)
|
||||
|
||||
def http_server(argv):
|
||||
from .commands_typed import os as commands_os
|
||||
assert isinstance(argv, list) and all([isinstance(o, str) for o in argv])
|
||||
parser = optparse.OptionParser()
|
||||
parser.add_option(
|
||||
@ -1215,10 +1216,17 @@ def http_server(argv):
|
||||
|
||||
try:
|
||||
assert not socket.inet_aton(options.host) is None
|
||||
subprocess.check_call([
|
||||
'ping', '-w', '1',
|
||||
options.host
|
||||
])
|
||||
# subprocess.check_call([
|
||||
# 'ping', '-w', '1',
|
||||
# options.host
|
||||
# ])
|
||||
assert options.host in sum([
|
||||
[
|
||||
o2.local
|
||||
for o2 in o.addr_info
|
||||
]
|
||||
for o in commands_os.interfaces_index()
|
||||
], [])
|
||||
except Exception:
|
||||
raise RuntimeError('invalid ip address %s' % options.host)
|
||||
|
||||
|
@ -1,14 +1,17 @@
|
||||
import shutil
|
||||
import glob
|
||||
import subprocess
|
||||
import pydantic
|
||||
import pathlib
|
||||
import ctypes
|
||||
import os
|
||||
import sys
|
||||
import logging
|
||||
import dataclasses
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
from typing import (overload, Optional, Literal,)
|
||||
from typing import (overload, Optional, Literal, Any, Annotated,)
|
||||
|
||||
from .cli_bootstrap import PyProject
|
||||
|
||||
@ -90,3 +93,30 @@ def runtime_libdirs_init(
|
||||
ctypes.cdll.LoadLibrary(preload_found)
|
||||
else:
|
||||
raise NotImplementedError
|
||||
|
||||
class interfaces_index_t:
|
||||
@dataclasses.dataclass
|
||||
class Interface:
|
||||
@dataclasses.dataclass
|
||||
class AddrInfo:
|
||||
family: str
|
||||
local: str
|
||||
|
||||
name: Annotated[
|
||||
str,
|
||||
pydantic.Field(
|
||||
alias='ifname',
|
||||
)
|
||||
]
|
||||
addr_info: list[AddrInfo]
|
||||
|
||||
def interfaces_index() -> list[interfaces_index_t.Interface]:
|
||||
res = pydantic.RootModel[
|
||||
list[interfaces_index_t.Interface]
|
||||
].model_validate_json(
|
||||
subprocess.check_output([
|
||||
'ip', '-j', 'addr',
|
||||
]).decode('utf-8')
|
||||
).root
|
||||
|
||||
return res
|
||||
|
@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = 'online.fxreader.pr34'
|
||||
version = '0.1.5.9'
|
||||
version = '0.1.5.9+27.2'
|
||||
|
||||
dependencies = [
|
||||
#"-r requirements.txt",
|
||||
|
BIN
releases/whl/online_fxreader_pr34-0.1.5.9+27.1-py3-none-any.whl
(Stored with Git LFS)
Normal file
BIN
releases/whl/online_fxreader_pr34-0.1.5.9+27.1-py3-none-any.whl
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
releases/whl/online_fxreader_pr34-0.1.5.9+27.2-py3-none-any.whl
(Stored with Git LFS)
Normal file
BIN
releases/whl/online_fxreader_pr34-0.1.5.9+27.2-py3-none-any.whl
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user