Spaces:
Sleeping
Sleeping
File size: 1,918 Bytes
21d27b2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
"""
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'
] |