34 lines
		
	
	
		
			959 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			959 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env nix
 | |
| #! nix shell nixpkgs#python3  --command python
 | |
| import logging
 | |
| 
 | |
| def inject_diff():
 | |
|     source_file = 'post-diff'
 | |
|     target_file = 'pr_body.md'
 | |
|     placeholder = "nix-diff-placeholder"
 | |
| 
 | |
|     logging.info(f"injecting '{source_file}' into '{target_file}' using '{placeholder}' as a placeholder")
 | |
| 
 | |
|     out = []
 | |
|     with open(source_file,'r') as src:
 | |
|         src_content = src.read()
 | |
|         if len(src_content) > 60000:
 | |
|             logging.warning(f"{source_file} is longer than 60k characters, truncating")
 | |
|             src_content = src_content[:60000]
 | |
|     with open(target_file,'r') as tgt:
 | |
|         for line in tgt.readlines():
 | |
|             if placeholder in line:
 | |
|                 out.append(line.replace(placeholder,src_content))
 | |
|             else:
 | |
|                 out.append(line)
 | |
| 
 | |
|     with open(target_file,'w') as tgt:
 | |
|         tgt.writelines(out)
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     logging.basicConfig( level=logging.INFO)
 | |
|     inject_diff()
 |