Spaces:
Paused
Paused
| import logging | |
| from urllib.parse import urlparse | |
| def is_generate_content_endpoint(url): | |
| """ | |
| Check if the URL is a GenerateContent endpoint | |
| """ | |
| return 'GenerateContent' in url | |
| def parse_proxy_url(proxy_url): | |
| """ | |
| Parse a proxy URL into its components | |
| Returns: | |
| tuple: (scheme, host, port, username, password) | |
| """ | |
| if not proxy_url: | |
| return None, None, None, None, None | |
| parsed = urlparse(proxy_url) | |
| scheme = parsed.scheme | |
| host = parsed.hostname | |
| port = parsed.port | |
| username = parsed.username | |
| password = parsed.password | |
| return scheme, host, port, username, password | |
| def setup_logger(name, log_file=None, level=logging.INFO): | |
| """ | |
| Set up a logger with the specified name and configuration | |
| Args: | |
| name (str): Logger name | |
| log_file (str, optional): Path to log file | |
| level (int, optional): Logging level | |
| Returns: | |
| logging.Logger: Configured logger | |
| """ | |
| logger = logging.getLogger(name) | |
| logger.setLevel(level) | |
| formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') | |
| # Add console handler | |
| console_handler = logging.StreamHandler() | |
| console_handler.setFormatter(formatter) | |
| logger.addHandler(console_handler) | |
| # Add file handler if specified | |
| if log_file: | |
| file_handler = logging.FileHandler(log_file) | |
| file_handler.setFormatter(formatter) | |
| logger.addHandler(file_handler) | |
| return logger | |