This repository has been archived on 2026-05-31. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
GallerySubscriber/extension/generate-icons.py
T
2026-01-24 22:52:51 -05:00

85 lines
2.5 KiB
Python

#!/usr/bin/env python3
"""
Generate placeholder icons for the GallerySubscriber extension.
Run this script from the extension directory.
Requirements: Pillow (pip install Pillow)
"""
import os
from pathlib import Path
try:
from PIL import Image, ImageDraw
except ImportError:
print("Pillow not installed. Install with: pip install Pillow")
print("Or manually create icon-16.png, icon-32.png, icon-48.png, icon-128.png")
exit(1)
# Icon configuration
BACKGROUND_COLOR = '#1976d2' # Primary blue
SIZES = [16, 32, 48, 128]
def create_icon(size):
"""Create a simple colored square icon with rounded corners effect."""
img = Image.new('RGBA', (size, size), (0, 0, 0, 0))
draw = ImageDraw.Draw(img)
# Draw filled rounded rectangle (approximated with circle corners for small sizes)
margin = max(1, size // 16)
radius = max(2, size // 8)
# For simplicity, just draw a solid square with the primary color
draw.rectangle([margin, margin, size - margin - 1, size - margin - 1],
fill=BACKGROUND_COLOR)
# Draw a simple "G" or download arrow for larger sizes
if size >= 32:
# Draw a simple download arrow
center_x = size // 2
center_y = size // 2
arrow_size = size // 3
# Arrow body (vertical line)
line_width = max(2, size // 12)
draw.rectangle([
center_x - line_width // 2,
center_y - arrow_size // 2,
center_x + line_width // 2,
center_y + arrow_size // 4
], fill='white')
# Arrow head (triangle pointing down)
head_size = arrow_size // 2
draw.polygon([
(center_x - head_size, center_y),
(center_x + head_size, center_y),
(center_x, center_y + head_size)
], fill='white')
# Base line
draw.rectangle([
center_x - arrow_size // 2,
center_y + arrow_size // 2,
center_x + arrow_size // 2,
center_y + arrow_size // 2 + line_width
], fill='white')
return img
def main():
icons_dir = Path(__file__).parent / 'icons'
icons_dir.mkdir(exist_ok=True)
for size in SIZES:
icon = create_icon(size)
output_path = icons_dir / f'icon-{size}.png'
icon.save(output_path, 'PNG')
print(f'Created {output_path}')
print('\nDone! Icons created successfully.')
print('You can replace these with custom icons later.')
if __name__ == '__main__':
main()