@@ -1980,6 +1980,20 @@ def _parse_compose_file(self):
1980
1980
sys .exit (1 )
1981
1981
content = normalize (content )
1982
1982
# log(filename, json.dumps(content, indent = 2))
1983
+
1984
+ if not project_name :
1985
+ project_name = content .get ("name" )
1986
+ if project_name is None :
1987
+ # More strict then actually needed for simplicity:
1988
+ # podman requires [a-zA-Z0-9][a-zA-Z0-9_.-]*
1989
+ project_name = self .environ .get ("COMPOSE_PROJECT_NAME" , dir_basename .lower ())
1990
+ project_name = norm_re .sub ("" , project_name )
1991
+ if not project_name :
1992
+ raise RuntimeError (f"Project name [{ dir_basename } ] normalized to empty" )
1993
+
1994
+ self .project_name = project_name
1995
+ self .environ .update ({"COMPOSE_PROJECT_NAME" : self .project_name })
1996
+
1983
1997
content = rec_subs (content , self .environ )
1984
1998
if isinstance (services := content .get ('services' ), dict ):
1985
1999
for service in services .values ():
@@ -2012,19 +2026,6 @@ def _parse_compose_file(self):
2012
2026
log .debug (" ** merged:\n %s" , json .dumps (compose , indent = 2 ))
2013
2027
# ver = compose.get('version')
2014
2028
2015
- if not project_name :
2016
- project_name = compose .get ("name" )
2017
- if project_name is None :
2018
- # More strict then actually needed for simplicity:
2019
- # podman requires [a-zA-Z0-9][a-zA-Z0-9_.-]*
2020
- project_name = self .environ .get ("COMPOSE_PROJECT_NAME" , dir_basename .lower ())
2021
- project_name = norm_re .sub ("" , project_name )
2022
- if not project_name :
2023
- raise RuntimeError (f"Project name [{ dir_basename } ] normalized to empty" )
2024
-
2025
- self .project_name = project_name
2026
- self .environ .update ({"COMPOSE_PROJECT_NAME" : self .project_name })
2027
-
2028
2029
services = compose .get ("services" )
2029
2030
if services is None :
2030
2031
services = {}
0 commit comments