MCPcopy Create free account
hub / github.com/Dispatcharr/Dispatcharr / __init__

Method __init__

core/xtream_codes.py:31–63  ·  view source on GitHub ↗
(self, server_url, username, password, user_agent=None)

Source from the content-addressed store, hash-verified

29 """Xtream Codes API Client with robust error handling"""
30
31 def __init__(self, server_url, username, password, user_agent=None):
32 self.server_url = self._normalize_url(server_url)
33 self.username = username
34 self.password = password
35 self.user_agent = user_agent
36
37 # Fix: Properly handle all possible user_agent input types
38 if user_agent:
39 if isinstance(user_agent, str):
40 user_agent_string = user_agent
41 elif hasattr(user_agent, 'user_agent'):
42 user_agent_string = user_agent.user_agent
43 else:
44 logger.warning(f"Unexpected user_agent type: {type(user_agent)}, using default")
45 user_agent_string = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
46 else:
47 user_agent_string = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
48
49 # Create persistent session
50 self.session = requests.Session()
51 self.session.headers.update({'User-Agent': user_agent_string})
52
53 # Configure connection pooling
54 adapter = requests.adapters.HTTPAdapter(
55 pool_connections=1,
56 pool_maxsize=2,
57 max_retries=3,
58 pool_block=False
59 )
60 self.session.mount('http://', adapter)
61 self.session.mount('https://', adapter)
62
63 self.server_info = None
64
65 def _normalize_url(self, url):
66 normalized = normalize_server_url(url)

Callers

nothing calls this directly

Calls 2

_normalize_urlMethod · 0.95
updateMethod · 0.45

Tested by

no test coverage detected