mirror of
https://github.com/greflm13/StaticGalleryBuilder.git
synced 2026-02-05 11:09:26 +00:00
additional themes bruv
This commit is contained in:
66
themes/generate_preview.py
Normal file
66
themes/generate_preview.py
Normal file
@@ -0,0 +1,66 @@
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.chrome.service import Service
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.chrome.options import Options
|
||||
|
||||
def take_screenshot(html_file, css_file, output_file):
|
||||
# Setup Chrome options
|
||||
chrome_options = Options()
|
||||
chrome_options.add_argument("--headless") # Run in headless mode, no GUI
|
||||
|
||||
# Initialize Chrome WebDriver with the specified service and options
|
||||
chromedriver_path = '/usr/bin/chromedriver' # Replace with your actual path
|
||||
service = Service(chromedriver_path)
|
||||
driver = webdriver.Chrome(service=service, options=chrome_options)
|
||||
|
||||
try:
|
||||
# Open the HTML file
|
||||
driver.get(f'file://{os.path.abspath(html_file)}')
|
||||
|
||||
# Apply the CSS file to the HTML
|
||||
apply_css_script = f"""
|
||||
var link = document.createElement('link');
|
||||
link.rel = 'stylesheet';
|
||||
link.type = 'text/css';
|
||||
link.href = '{os.path.abspath(css_file)}';
|
||||
document.head.appendChild(link);
|
||||
"""
|
||||
driver.execute_script(apply_css_script)
|
||||
|
||||
# Wait for a while to ensure CSS is applied (adjust as needed)
|
||||
time.sleep(2)
|
||||
|
||||
# Capture screenshot
|
||||
driver.save_screenshot(output_file)
|
||||
print(f'Screenshot saved to {output_file}')
|
||||
|
||||
finally:
|
||||
driver.quit()
|
||||
|
||||
def main(folder_path):
|
||||
# Assuming index.html is in the same directory as the CSS files
|
||||
html_file = '/mnt/nfs/pictures/Sony_Alpha_7_iv/103MSDCF/index.html'
|
||||
|
||||
# Check if the folder path exists
|
||||
if not os.path.exists(folder_path):
|
||||
print(f'Error: Folder path "{folder_path}" does not exist.')
|
||||
return
|
||||
|
||||
# Iterate over all files in the folder
|
||||
for filename in os.listdir(folder_path):
|
||||
if filename.endswith('.css'):
|
||||
css_file = os.path.join(folder_path, filename)
|
||||
output_file = os.path.join(folder_path, f'{os.path.splitext(filename)[0]}.png')
|
||||
|
||||
# Take screenshot for this CSS file
|
||||
take_screenshot(html_file, css_file, output_file)
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) != 2:
|
||||
print('Usage: python script_name.py folder_path')
|
||||
else:
|
||||
folder_path = sys.argv[1]
|
||||
main(folder_path)
|
||||
Reference in New Issue
Block a user