Automation for image files in html
This commit is contained in:
		
							parent
							
								
									acb6e4b9a9
								
							
						
					
					
						commit
						170c0f3080
					
				| 
						 | 
				
			
			@ -0,0 +1,55 @@
 | 
			
		|||
# This script automatically inserts img elements into
 | 
			
		||||
# the html file for the pictures page.
 | 
			
		||||
 | 
			
		||||
import glob
 | 
			
		||||
from pathlib import Path
 | 
			
		||||
import argparse
 | 
			
		||||
from fileinput import FileInput
 | 
			
		||||
from sys import exit
 | 
			
		||||
 | 
			
		||||
parser = argparse.ArgumentParser(
 | 
			
		||||
    prog="ImgInserter",
 | 
			
		||||
    description="Fills img elements into the html file for the pictures page"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
parser.add_argument("html_file",
 | 
			
		||||
                    help="HTML file to be modified")
 | 
			
		||||
parser.add_argument("img_dir",
 | 
			
		||||
                    help="""Directory where images are stored;
 | 
			
		||||
                    must be in the same directory as the HTML file""")
 | 
			
		||||
 | 
			
		||||
args = parser.parse_args()
 | 
			
		||||
 | 
			
		||||
# Find the path to the HTML file
 | 
			
		||||
html_path = glob.glob(args.html_file)
 | 
			
		||||
if len(html_path) == 0:
 | 
			
		||||
    print("HTML file provided cannot be found")
 | 
			
		||||
    exit(1)
 | 
			
		||||
html_path = Path(html_path[0])  # Shadow original html_path, now a Path
 | 
			
		||||
 | 
			
		||||
# Find the image directory
 | 
			
		||||
image_dir = glob.glob(args.img_dir)
 | 
			
		||||
if len(image_dir) == 0:
 | 
			
		||||
    print("Image directory cannot be found")
 | 
			
		||||
    exit(1)
 | 
			
		||||
image_dir = Path(image_dir[0])  # Shadow original image_dir, now a Path
 | 
			
		||||
 | 
			
		||||
# Find all images in the image directory
 | 
			
		||||
images = list(image_dir.rglob("*.png")) + \
 | 
			
		||||
    list(image_dir.rglob("*.jpg")) + \
 | 
			
		||||
    list(image_dir.rglob("*.jpeg"))
 | 
			
		||||
 | 
			
		||||
# Generate the img tag for each file
 | 
			
		||||
imgs = []
 | 
			
		||||
for i in images:
 | 
			
		||||
    src = str(i)
 | 
			
		||||
    imgs.append(f'<img src="{src}" />')
 | 
			
		||||
 | 
			
		||||
with FileInput(html_path, inplace=True) as html:
 | 
			
		||||
    for line in html:
 | 
			
		||||
        if "Images go below" in line:  # Insert imgs here
 | 
			
		||||
            print(line, end='')
 | 
			
		||||
            for img in imgs:
 | 
			
		||||
                print(img)
 | 
			
		||||
        else:
 | 
			
		||||
            print(line, end='')
 | 
			
		||||
		Loading…
	
		Reference in New Issue