Skip to content

Commit 9d5b255

Browse files
dotsimonmuayyad-alsadi
authored andcommitted
Use top-level name property as project name if user doesn't set one explicitly
Signed-off-by: Simon Cornish <7t9jna402@sneakemail.com>
1 parent 2d05c5c commit 9d5b255

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

podman_compose.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1424,17 +1424,6 @@ def _parse_compose_file(self):
14241424
# TODO: remove next line
14251425
os.chdir(dirname)
14261426

1427-
if not project_name:
1428-
# More strict then actually needed for simplicity: podman requires [a-zA-Z0-9][a-zA-Z0-9_.-]*
1429-
project_name = (
1430-
os.environ.get("COMPOSE_PROJECT_NAME", None) or dir_basename.lower()
1431-
)
1432-
project_name = norm_re.sub("", project_name)
1433-
if not project_name:
1434-
raise RuntimeError(f"Project name [{dir_basename}] normalized to empty")
1435-
1436-
self.project_name = project_name
1437-
14381427
dotenv_path = os.path.join(dirname, args.env_file)
14391428
dotenv_dict = dotenv_to_dict(dotenv_path)
14401429
os.environ.update(
@@ -1452,7 +1441,6 @@ def _parse_compose_file(self):
14521441
{
14531442
"COMPOSE_PROJECT_DIR": dirname,
14541443
"COMPOSE_FILE": pathsep.join(relative_files),
1455-
"COMPOSE_PROJECT_NAME": self.project_name,
14561444
"COMPOSE_PATH_SEPARATOR": pathsep,
14571445
}
14581446
)
@@ -1479,6 +1467,23 @@ def _parse_compose_file(self):
14791467
if len(files) > 1:
14801468
log(" ** merged:\n", json.dumps(compose, indent=2))
14811469
# ver = compose.get('version', None)
1470+
1471+
if not project_name:
1472+
project_name = compose.get("name", None)
1473+
if project_name is None:
1474+
# More strict then actually needed for simplicity: podman requires [a-zA-Z0-9][a-zA-Z0-9_.-]*
1475+
project_name = (
1476+
os.environ.get("COMPOSE_PROJECT_NAME", None) or dir_basename.lower()
1477+
)
1478+
project_name = norm_re.sub("", project_name)
1479+
if not project_name:
1480+
raise RuntimeError(
1481+
f"Project name [{dir_basename}] normalized to empty"
1482+
)
1483+
1484+
self.project_name = project_name
1485+
self.environ.update({"COMPOSE_PROJECT_NAME": self.project_name})
1486+
14821487
services = compose.get("services", None)
14831488
if services is None:
14841489
services = {}

0 commit comments

Comments
 (0)