parse out ip from ip field
This commit is contained in:
parent
884c9d8428
commit
90eae3ed7f
|
@ -6,6 +6,7 @@ from lib import wireguard
|
||||||
from lib import logging as logging_lib
|
from lib import logging as logging_lib
|
||||||
import shutil
|
import shutil
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
|
|
||||||
log = logging_lib.log
|
log = logging_lib.log
|
||||||
config = config_module.config
|
config = config_module.config
|
||||||
|
@ -15,7 +16,20 @@ for default_network in config.clore_default_networks:
|
||||||
if "name" in default_network:
|
if "name" in default_network:
|
||||||
default_network_names.append(default_network["name"])
|
default_network_names.append(default_network["name"])
|
||||||
|
|
||||||
|
def get_last_ip_occurrence_and_text(input_string):
|
||||||
|
# Find all occurrences of "--ip" in the string
|
||||||
|
matches = re.finditer(r'--ip', input_string)
|
||||||
|
|
||||||
|
last_occurrence = None
|
||||||
|
for match in matches:
|
||||||
|
last_occurrence = match
|
||||||
|
|
||||||
|
if last_occurrence:
|
||||||
|
# Get the text after the last occurrence of "--ip"
|
||||||
|
text_after_last_ip = input_string[last_occurrence.end():]
|
||||||
|
return last_occurrence.group(), text_after_last_ip
|
||||||
|
else:
|
||||||
|
return None, None
|
||||||
|
|
||||||
def configure(containers):
|
def configure(containers):
|
||||||
valid_containers = []
|
valid_containers = []
|
||||||
|
@ -41,6 +55,13 @@ def configure(containers):
|
||||||
if index < len(custom_entrypoint_state):
|
if index < len(custom_entrypoint_state):
|
||||||
ok_custom_entrypoint = custom_entrypoint_state[index]
|
ok_custom_entrypoint = custom_entrypoint_state[index]
|
||||||
startup_script_name = f"{container['name']}.sh"
|
startup_script_name = f"{container['name']}.sh"
|
||||||
|
if "ip" in container and len(container["ip"])>6 and type(container["ip"])==str:
|
||||||
|
if container["ip"][:8] == "; echo '":
|
||||||
|
last_occurrence, text_after_last_ip = get_last_ip_occurrence_and_text(container["ip"])
|
||||||
|
if last_occurrence:
|
||||||
|
container["ip"] = text_after_last_ip.strip().split(' ',1)[0]
|
||||||
|
else:
|
||||||
|
del container["ip"]
|
||||||
if "wireguard" in container and "name" in container:
|
if "wireguard" in container and "name" in container:
|
||||||
wireguard.generate_config(container)
|
wireguard.generate_config(container)
|
||||||
used_wireguard_configs.append(container["name"])
|
used_wireguard_configs.append(container["name"])
|
||||||
|
|
Loading…
Reference in New Issue