@@ -479,13 +479,12 @@ def services(self, obj):
479479 if isinstance (obj , Services ):
480480 if obj .dockerfile :
481481 self .dockerfile [obj .name ] = obj .dockerfile
482- filepath = f"{ self .basedir } /{ self .name } /{ obj .name } /Dockerfile"
483482 build = {}
484483 if obj .dockerfile .context :
485484 build ["context" ] = obj .dockerfile .context
486485 else :
487486 build ["context" ] = os .getcwd ()
488- build ["dockerfile" ] = filepath
487+ build ["dockerfile" ] = f" { obj . dockerfile . context } /Dockerfile"
489488 obj .build (build )
490489 service = copy .deepcopy (obj .service )
491490 self .compose ["services" ].update (service )
@@ -521,6 +520,11 @@ def show(self):
521520
522521 def filename (self ):
523522 return self .basedir + "/" + self .name + "/" + "compose.yaml"
523+ def mkdirs (self , filepath ):
524+ dirname = os .path .dirname (filepath )
525+ if not os .path .isdir (dirname ):
526+ os .makedirs (dirname )
527+ self .logger .info ("Create directory %s" % (dirname ))
524528
525529 def save (self , filename = None ):
526530
@@ -540,16 +544,15 @@ def save(self, filename=None):
540544 if not filename :
541545 filename = self .filename ()
542546
543- dirname = os .path .dirname (filename )
544- if not os .path .isdir (dirname ):
545- os .makedirs (dirname )
546- self .logger .info ("Create directory %s" % (dirname ))
547+ self .mkdirs (filename )
547548
548549 try :
549550 for service , dockerfile in self .dockerfile .items ():
550- filepath = self .compose ['services' ][service ]['build' ]['dockerfile' ]
551- print (filepath )
551+ filepath = f"{ self .basedir } /{ self .name } /{ service } /Dockerfile"
552+ # filepath = self.compose['services'][service]['build']['dockerfile']
553+ self .mkdirs (filepath )
552554 dockerfile .save (filepath )
555+ self .compose ['services' ][service ]['build' ]['dockerfile' ]= filepath
553556 # self.logger.debug("Dockerfile")
554557
555558 file = open (filename , "w" )
@@ -965,7 +968,6 @@ def dump(self):
965968 if self .options .environment and self .options .environment in self .composes :
966969 compose = self .composes [self .options .environment ]
967970 compose .dump ()
968- # if compose:
969971 else :
970972 for env , compose in self .composes .items ():
971973 print (f"---------- { env } ----------" )
0 commit comments