refs #1728 move ogGetIpAddress around
parent
8b7fa556c6
commit
a5a0b2bdb7
|
@ -1,10 +1,5 @@
|
|||
#!/usr/bin/env python3
|
||||
import socket
|
||||
#!/usr/bin/python3
|
||||
|
||||
def get_ip_address():
|
||||
hostname = socket.gethostname()
|
||||
ip_address = socket.gethostbyname(hostname)
|
||||
return ip_address
|
||||
from NetLib import ogGetIpAddress
|
||||
|
||||
if __name__ == "__main__":
|
||||
print(get_ip_address())
|
||||
ogGetIpAddress()
|
||||
|
|
|
@ -142,29 +142,7 @@ def ogGetHostname():
|
|||
#@note Usa las variables utilizadas por el initrd "/etc/net-ethX.conf
|
||||
#*/ ##
|
||||
def ogGetIpAddress():
|
||||
if "IPV4ADDR" in os.environ:
|
||||
ip = os.environ["IPV4ADDR"]
|
||||
if '/' in ip: ip = ip.split ('/')[0]
|
||||
return ip
|
||||
|
||||
extra_args = []
|
||||
if "DEVICE" in os.environ:
|
||||
extra_args = [ "dev", os.environ["DEVICE"] ]
|
||||
ipas = subprocess.run (['ip', '-json', 'address', 'show', 'up'] + extra_args, capture_output=True, text=True).stdout
|
||||
|
||||
ipasj = json.loads (ipas)
|
||||
addresses = []
|
||||
for e in ipasj:
|
||||
if 'lo' == e['ifname']: continue
|
||||
if 'addr_info' not in e: continue
|
||||
addrs = e['addr_info']
|
||||
for a in addrs:
|
||||
if 'inet' != a['family']: continue
|
||||
addresses.append ({ 'local': a['local'], 'prefixlen': a['prefixlen'] })
|
||||
|
||||
if 1 != len (addresses):
|
||||
raise Exception ('more than one local IP address found')
|
||||
return addresses[0]
|
||||
return ogGlobals.ogGetIpAddress()
|
||||
|
||||
|
||||
#/**
|
||||
|
|
|
@ -7,8 +7,31 @@ import locale
|
|||
import importlib.util
|
||||
|
||||
## required for defining OGLOGFILE
|
||||
import NetLib
|
||||
ip = NetLib.ogGetIpAddress()
|
||||
def ogGetIpAddress():
|
||||
if "IPV4ADDR" in os.environ:
|
||||
ip = os.environ["IPV4ADDR"]
|
||||
if '/' in ip: ip = ip.split ('/')[0]
|
||||
return ip
|
||||
|
||||
extra_args = []
|
||||
if "DEVICE" in os.environ:
|
||||
extra_args = [ "dev", os.environ["DEVICE"] ]
|
||||
ipas = subprocess.run (['ip', '-json', 'address', 'show', 'up'] + extra_args, capture_output=True, text=True).stdout
|
||||
|
||||
ipasj = json.loads (ipas)
|
||||
addresses = []
|
||||
for e in ipasj:
|
||||
if 'lo' == e['ifname']: continue
|
||||
if 'addr_info' not in e: continue
|
||||
addrs = e['addr_info']
|
||||
for a in addrs:
|
||||
if 'inet' != a['family']: continue
|
||||
addresses.append ({ 'local': a['local'], 'prefixlen': a['prefixlen'] })
|
||||
|
||||
if 1 != len (addresses):
|
||||
raise Exception ('more than one local IP address found')
|
||||
return addresses[0]
|
||||
ip = ogGetIpAddress()
|
||||
|
||||
def load_lang (name):
|
||||
global lang
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
import sys
|
||||
import NetLib
|
||||
|
||||
def get_ip_address(*args):
|
||||
try:
|
||||
# Llama a ogGetIpAddress desde NetLib y captura el resultado
|
||||
result = NetLib.ogGetIpAddress(*args)
|
||||
print(result.strip())
|
||||
except Exception as e:
|
||||
print(f"Error ejecutando ogGetIpAddress: {e}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
get_ip_address(*sys.argv[1:])
|
||||
|
Loading…
Reference in New Issue