mirror of
				https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
				synced 2025-11-04 10:34:05 +00:00 
			
		
		
		
	Make sure that containing directories exist before writing output files
This commit is contained in:
		
							parent
							
								
									c582733989
								
							
						
					
					
						commit
						3b8daa98ec
					
				@ -797,6 +797,7 @@ class Britney(object):
 | 
			
		||||
        # write excuses to the output file
 | 
			
		||||
        if not self.options.dry_run:
 | 
			
		||||
            self.logger.info("> Writing Excuses to %s", self.options.excuses_output)
 | 
			
		||||
            os.makedirs(os.path.dirname(self.options.excuses_output), exist_ok=True)
 | 
			
		||||
            write_excuses(excuses, self.options.excuses_output,
 | 
			
		||||
                          output_format="legacy-html")
 | 
			
		||||
            if hasattr(self.options, 'excuses_yaml_output'):
 | 
			
		||||
@ -1545,6 +1546,7 @@ class Britney(object):
 | 
			
		||||
                                 " as this is a dry-run.")
 | 
			
		||||
            elif hasattr(self.options, 'upgrade_output'):
 | 
			
		||||
                upgrade_output = getattr(self.options, 'upgrade_output')
 | 
			
		||||
                os.makedirs(os.path.dirname(self.options.upgrade_output), exist_ok=True)
 | 
			
		||||
                file_handler = logging.FileHandler(upgrade_output, mode='w', encoding='utf-8')
 | 
			
		||||
                output_formatter = logging.Formatter('%(message)s')
 | 
			
		||||
                file_handler.setFormatter(output_formatter)
 | 
			
		||||
 | 
			
		||||
@ -516,6 +516,7 @@ class AgePolicy(BasePolicy):
 | 
			
		||||
            basename = 'Dates'
 | 
			
		||||
            old_file = None
 | 
			
		||||
        filename = os.path.join(directory, basename)
 | 
			
		||||
        os.makedirs(directory, exist_ok=True)
 | 
			
		||||
        filename_tmp = os.path.join(directory, '%s_new' % basename)
 | 
			
		||||
        with open(filename_tmp, 'w', encoding='utf-8') as fd:
 | 
			
		||||
            for pkg in sorted(dates):
 | 
			
		||||
 | 
			
		||||
@ -299,7 +299,6 @@ def write_heidi_delta(filename, all_selected):
 | 
			
		||||
                fd.write('%s%s %s %s\n' % (prefix, item.package,
 | 
			
		||||
                                           item.version, item.architecture))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def write_excuses(excuses, dest_file, output_format="yaml"):
 | 
			
		||||
    """Write the excuses to dest_file
 | 
			
		||||
 | 
			
		||||
@ -309,6 +308,7 @@ def write_excuses(excuses, dest_file, output_format="yaml"):
 | 
			
		||||
    """
 | 
			
		||||
    excuselist = sorted(excuses.values(), key=lambda x: x.sortkey())
 | 
			
		||||
    if output_format == "yaml":
 | 
			
		||||
        os.makedirs(os.path.dirname(dest_file), exist_ok=True)
 | 
			
		||||
        with open(dest_file, 'w', encoding='utf-8') as f:
 | 
			
		||||
            edatalist = [e.excusedata(excuses) for e in excuselist]
 | 
			
		||||
            excusesdata = {
 | 
			
		||||
@ -317,6 +317,7 @@ def write_excuses(excuses, dest_file, output_format="yaml"):
 | 
			
		||||
            }
 | 
			
		||||
            f.write(yaml.dump(excusesdata, default_flow_style=False, allow_unicode=True))
 | 
			
		||||
    elif output_format == "legacy-html":
 | 
			
		||||
        os.makedirs(os.path.dirname(dest_file), exist_ok=True)
 | 
			
		||||
        with open(dest_file, 'w', encoding='utf-8') as f:
 | 
			
		||||
            f.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n")
 | 
			
		||||
            f.write("<html><head><title>excuses...</title>")
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user