Spaces:
Sleeping
Sleeping
""" | |
Configuration settings for the Logo Downloader application | |
""" | |
import os | |
from pathlib import Path | |
from dotenv import load_dotenv | |
load_dotenv() | |
# API Configuration | |
GEMINI_API_KEY = os.getenv('GEMINI_API_KEY', '') | |
# Directory Configuration | |
BASE_DIR = Path(__file__).parent | |
# DOWNLOADS_DIR = BASE_DIR / 'downloads' | |
DOWNLOADS_DIR = Path('downloads') | |
TEMP_DIR = BASE_DIR / 'temp' | |
# Download Configuration | |
MAX_ENTITIES = 20 | |
MAX_LOGOS_PER_ENTITY = 15 | |
DEFAULT_LOGOS_PER_ENTITY = 10 | |
DOWNLOAD_TIMEOUT = 15 | |
REQUEST_DELAY = 1 # seconds between requests | |
# File Configuration | |
ALLOWED_EXTENSIONS = ['.png', '.jpg', '.jpeg', '.svg', '.webp'] | |
MIN_FILE_SIZE = 500 # bytes | |
MAX_FILE_SIZE = 10 * 1024 * 1024 # 10MB | |
# HTTP Configuration | |
HEADERS = { | |
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36', | |
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', | |
'Accept-Language': 'en-US,en;q=0.5', | |
'Accept-Encoding': 'gzip, deflate', | |
'Connection': 'keep-alive', | |
'Upgrade-Insecure-Requests': '1', | |
} | |
# Image signatures for validation | |
IMAGE_SIGNATURES = [ | |
b'\x89PNG', # PNG | |
b'\xff\xd8\xff', # JPEG | |
b'<svg', # SVG | |
b'RIFF', # WebP | |
b'GIF8', # GIF | |
] | |
# Common tech entities for fallback | |
COMMON_TECH_ENTITIES = [ | |
'Microsoft', 'Google', 'Apple', 'Amazon', 'Adobe', 'React', 'Angular', 'Vue', | |
'Docker', 'Kubernetes', 'AWS', 'Azure', 'Firebase', 'MongoDB', 'PostgreSQL', | |
'Redis', 'Node.js', 'Python', 'JavaScript', 'TypeScript', 'Figma', 'Sketch', | |
'Photoshop', 'Illustrator', 'AutoCAD', 'Unity', 'Blender', 'GitHub', 'GitLab', | |
'Slack', 'Discord', 'Zoom', 'Teams', 'Spotify', 'Netflix', 'Instagram', | |
'Facebook', 'Twitter', 'LinkedIn', 'TikTok', 'WhatsApp', 'Telegram', | |
'Shopify', 'WordPress', 'Salesforce', 'Microsoft Fabric' | |
] |