Skip to content

Commit fc90f60

Browse files
authored
Merge pull request #1014 from legobeat/refactor-redundant-vars
refactor: clean up redundant proj_name, net vars
2 parents edadf73 + ed58ac0 commit fc90f60

File tree

1 file changed

+24
-39
lines changed

1 file changed

+24
-39
lines changed

podman_compose.py

Lines changed: 24 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ def parse_short_mount(mount_str, basedir):
194194
# unless it's anonymous-volume
195195

196196

197-
def fix_mount_dict(compose, mount_dict, proj_name, srv_name):
197+
def fix_mount_dict(compose, mount_dict, srv_name):
198198
"""
199199
in-place fix mount dictionary to:
200200
- define _vol to be the corresponding top-level volume
@@ -214,7 +214,7 @@ def fix_mount_dict(compose, mount_dict, proj_name, srv_name):
214214
if not source:
215215
# missing source
216216
vol["name"] = "_".join([
217-
proj_name,
217+
compose.project_name,
218218
srv_name,
219219
hashlib.sha256(mount_dict["target"].encode("utf-8")).hexdigest(),
220220
])
@@ -225,7 +225,7 @@ def fix_mount_dict(compose, mount_dict, proj_name, srv_name):
225225
elif external:
226226
vol["name"] = f"{source}"
227227
else:
228-
vol["name"] = f"{proj_name}_{source}"
228+
vol["name"] = f"{compose.project_name}_{source}"
229229
return mount_dict
230230

231231

@@ -346,14 +346,14 @@ def norm_ulimit(inner_value):
346346
return inner_value
347347

348348

349-
def default_network_name_for_project(compose, proj_name, net, is_ext):
349+
def default_network_name_for_project(compose, net, is_ext):
350350
if is_ext:
351351
return net
352352

353353
default_net_name_compat = compose.x_podman.get("default_net_name_compat", False)
354354
if default_net_name_compat is True:
355-
return f"{proj_name.replace('-', '')}_{net}"
356-
return f"{proj_name}_{net}"
355+
return f"{compose.project_name.replace('-', '')}_{net}"
356+
return f"{compose.project_name}_{net}"
357357

358358

359359
# def tr_identity(project_name, given_containers):
@@ -397,7 +397,6 @@ async def assert_volume(compose, mount_dict):
397397
return
398398
if mount_dict["type"] != "volume" or not vol or not vol.get("name", None):
399399
return
400-
proj_name = compose.project_name
401400
vol_name = vol["name"]
402401
is_ext = vol.get("external", None)
403402
log.debug("podman volume inspect %s || podman volume create %s", vol_name, vol_name)
@@ -413,9 +412,9 @@ async def assert_volume(compose, mount_dict):
413412
args = [
414413
"create",
415414
"--label",
416-
f"io.podman.compose.project={proj_name}",
415+
f"io.podman.compose.project={compose.project_name}",
417416
"--label",
418-
f"com.docker.compose.project={proj_name}",
417+
f"com.docker.compose.project={compose.project_name}",
419418
]
420419
for item in norm_as_list(labels):
421420
args.extend(["--label", item])
@@ -534,17 +533,15 @@ def mount_desc_to_volume_args(compose, mount_desc, srv_name, cnt_name): # pylin
534533

535534

536535
def get_mnt_dict(compose, cnt, volume):
537-
proj_name = compose.project_name
538536
srv_name = cnt["_service"]
539537
basedir = compose.dirname
540538
if is_str(volume):
541539
volume = parse_short_mount(volume, basedir)
542-
return fix_mount_dict(compose, volume, proj_name, srv_name)
540+
return fix_mount_dict(compose, volume, srv_name)
543541

544542

545543
async def get_mount_args(compose, cnt, volume):
546544
volume = get_mnt_dict(compose, cnt, volume)
547-
# proj_name = compose.project_name
548545
srv_name = cnt["_service"]
549546
mount_type = volume["type"]
550547
await assert_volume(compose, volume)
@@ -854,25 +851,22 @@ async def assert_cnt_nets(compose, cnt):
854851
net = cnt.get("network_mode", None)
855852
if net and not net.startswith("bridge"):
856853
return
857-
proj_name = compose.project_name
858-
nets = compose.networks
859-
default_net = compose.default_net
860854
cnt_nets = cnt.get("networks", None)
861855
if cnt_nets and is_dict(cnt_nets):
862856
cnt_nets = list(cnt_nets.keys())
863-
cnt_nets = norm_as_list(cnt_nets or default_net)
857+
cnt_nets = norm_as_list(cnt_nets or compose.default_net)
864858
for net in cnt_nets:
865-
net_desc = nets[net] or {}
859+
net_desc = compose.networks[net] or {}
866860
is_ext = net_desc.get("external", None)
867861
ext_desc = is_ext if is_dict(is_ext) else {}
868-
default_net_name = default_network_name_for_project(compose, proj_name, net, is_ext)
862+
default_net_name = default_network_name_for_project(compose, net, is_ext)
869863
net_name = ext_desc.get("name", None) or net_desc.get("name", None) or default_net_name
870864
try:
871865
await compose.podman.output([], "network", ["exists", net_name])
872866
except subprocess.CalledProcessError as e:
873867
if is_ext:
874868
raise RuntimeError(f"External network [{net_name}] does not exists") from e
875-
args = get_network_create_args(net_desc, proj_name, net_name)
869+
args = get_network_create_args(net_desc, compose.project_name, net_name)
876870
await compose.podman.output([], "network", args)
877871
await compose.podman.output([], "network", ["exists", net_name])
878872

@@ -911,9 +905,6 @@ def get_net_args(compose, cnt):
911905
sys.exit(1)
912906
else:
913907
is_bridge = True
914-
proj_name = compose.project_name
915-
default_net = compose.default_net
916-
nets = compose.networks
917908
cnt_nets = cnt.get("networks", None)
918909

919910
aliases = [service_name]
@@ -949,13 +940,13 @@ def get_net_args(compose, cnt):
949940
# sort dict by priority
950941
prioritized_cnt_nets.sort(reverse=True)
951942
cnt_nets = [net_key for _, net_key in prioritized_cnt_nets]
952-
cnt_nets = norm_as_list(cnt_nets or default_net)
943+
cnt_nets = norm_as_list(cnt_nets or compose.default_net)
953944
net_names = []
954945
for net in cnt_nets:
955-
net_desc = nets[net] or {}
946+
net_desc = compose.networks[net] or {}
956947
is_ext = net_desc.get("external", None)
957948
ext_desc = is_ext if is_dict(is_ext) else {}
958-
default_net_name = default_network_name_for_project(compose, proj_name, net, is_ext)
949+
default_net_name = default_network_name_for_project(compose, net, is_ext)
959950
net_name = ext_desc.get("name", None) or net_desc.get("name", None) or default_net_name
960951
net_names.append(net_name)
961952
net_names_str = ",".join(net_names)
@@ -988,10 +979,10 @@ def get_net_args(compose, cnt):
988979
)
989980

990981
for net_, net_config_ in multiple_nets.items():
991-
net_desc = nets[net_] or {}
982+
net_desc = compose.networks[net_] or {}
992983
is_ext = net_desc.get("external", None)
993984
ext_desc = is_ext if is_dict(is_ext) else {}
994-
default_net_name = default_network_name_for_project(compose, proj_name, net_, is_ext)
985+
default_net_name = default_network_name_for_project(compose, net_, is_ext)
995986
net_name = ext_desc.get("name", None) or net_desc.get("name", None) or default_net_name
996987

997988
ipv4 = net_config_.get("ipv4_address", None)
@@ -1454,9 +1445,7 @@ async def format_out(stdout):
14541445
log.info("exit code: %s", exit_code)
14551446
return exit_code
14561447

1457-
async def volume_ls(self, proj=None):
1458-
if not proj:
1459-
proj = self.compose.project_name
1448+
async def volume_ls(self):
14601449
output = (
14611450
await self.output(
14621451
[],
@@ -1465,7 +1454,7 @@ async def volume_ls(self, proj=None):
14651454
"ls",
14661455
"--noheading",
14671456
"--filter",
1468-
f"label=io.podman.compose.project={proj}",
1457+
f"label=io.podman.compose.project={self.compose.project_name}",
14691458
"--format",
14701459
"{{.Name}}",
14711460
],
@@ -1926,10 +1915,9 @@ def _parse_compose_file(self):
19261915
self.default_net = "default"
19271916
else:
19281917
self.default_net = None
1929-
default_net = self.default_net
19301918
allnets = set()
19311919
for name, srv in services.items():
1932-
srv_nets = srv.get("networks", None) or default_net
1920+
srv_nets = srv.get("networks", None) or self.default_net
19331921
srv_nets = list(srv_nets.keys()) if is_dict(srv_nets) else norm_as_list(srv_nets)
19341922
allnets.update(srv_nets)
19351923
given_nets = set(nets.keys())
@@ -2490,7 +2478,6 @@ def get_excluded(compose, args):
24902478

24912479
@cmd_run(podman_compose, "up", "Create and start the entire stack or some of its services")
24922480
async def compose_up(compose: PodmanCompose, args):
2493-
proj_name = compose.project_name
24942481
excluded = get_excluded(compose, args)
24952482
if not args.no_build:
24962483
# `podman build` does not cache, so don't always build
@@ -2505,7 +2492,7 @@ async def compose_up(compose: PodmanCompose, args):
25052492
"ps",
25062493
[
25072494
"--filter",
2508-
f"label=io.podman.compose.project={proj_name}",
2495+
f"label=io.podman.compose.project={compose.project_name}",
25092496
"-a",
25102497
"--format",
25112498
'{{ index .Labels "io.podman.compose.config-hash"}}',
@@ -2601,14 +2588,13 @@ def _task_cancelled(task: Task) -> bool:
26012588

26022589

26032590
def get_volume_names(compose, cnt):
2604-
proj_name = compose.project_name
26052591
basedir = compose.dirname
26062592
srv_name = cnt["_service"]
26072593
ls = []
26082594
for volume in cnt.get("volumes", []):
26092595
if is_str(volume):
26102596
volume = parse_short_mount(volume, basedir)
2611-
volume = fix_mount_dict(compose, volume, proj_name, srv_name)
2597+
volume = fix_mount_dict(compose, volume, srv_name)
26122598
mount_type = volume["type"]
26132599
if mount_type != "volume":
26142600
continue
@@ -2688,8 +2674,7 @@ async def compose_down(compose, args):
26882674

26892675
@cmd_run(podman_compose, "ps", "show status of containers")
26902676
async def compose_ps(compose, args):
2691-
proj_name = compose.project_name
2692-
ps_args = ["-a", "--filter", f"label=io.podman.compose.project={proj_name}"]
2677+
ps_args = ["-a", "--filter", f"label=io.podman.compose.project={compose.project_name}"]
26932678
if args.quiet is True:
26942679
ps_args.extend(["--format", "{{.ID}}"])
26952680
elif args.format:

0 commit comments

Comments
 (0)