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'
]