File size: 976 Bytes
b39dfc3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import os
from typing import Dict, Any

class Config:
    def __init__(self):
        self.settings = {
            'TIMEOUT': int(os.getenv('URLD_TIMEOUT', 10)),
            'MAX_FILE_SIZE': int(os.getenv('URLD_MAX_FILE_SIZE', 2 * 1024 * 1024 * 1024)),
            'RESPECT_ROBOTS': os.getenv('URLD_RESPECT_ROBOTS', 'True').lower() == 'true',
            'USE_PROXY': os.getenv('URLD_USE_PROXY', 'False').lower() == 'true',
            'PROXY_URL': os.getenv('URLD_PROXY_URL', ''),
            'REQUEST_DELAY': float(os.getenv('URLD_REQUEST_DELAY', 1.0)),
            'MAX_RETRIES': int(os.getenv('URLD_MAX_RETRIES', 3)),
            'OUTPUT_FORMAT': os.getenv('URLD_OUTPUT_FORMAT', 'json'),
            'CHROME_DRIVER_PATH': os.getenv('URLD_CHROME_DRIVER_PATH', '/usr/local/bin/chromedriver'),
        }

    def get(self, key: str) -> Any:
        return self.settings.get(key)

    def update(self, settings: Dict[str, Any]) -> None:
        self.settings.update(settings)