MCPcopy Index your code
hub / github.com/pyfa-org/Pyfa / __init__

Method __init__

service/esiAccess.py:61–89  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

59class EsiAccess:
60 server_meta = {}
61 def __init__(self):
62 self.settings = EsiSettings.getInstance()
63 self.default_server_name = self.settings.get('server')
64 self.default_server_base = config.supported_servers[self.default_server_name]
65 # session request stuff
66 self._session = Session()
67 self._basicHeaders = {
68 'Accept': 'application/json',
69 'User-Agent': (
70 'pyfa v{}'.format(config.version)
71 )
72 }
73 self._session.headers.update(self._basicHeaders)
74 self._session.proxies = NetworkSettings.getInstance().getProxySettingsInRequestsFormat()
75
76 self.mem_cached_session = {}
77
78 # Set up cached session. This is only used for SSO meta data for now, but can be expanded to actually handle
79 # various ESI caching (using ETag, for example) in the future
80 self.cached_session = CachedSession(
81 os.path.join(config.savePath, config.ESI_CACHE),
82 backend="sqlite",
83 cache_control=True, # Use Cache-Control headers for expiration, if available
84 expire_after=timedelta(days=1), # Otherwise expire responses after one day
85 stale_if_error=True, # In case of request errors, use stale cache data if possible
86 )
87 self.cached_session.headers.update(self._basicHeaders)
88 self.cached_session.proxies = NetworkSettings.getInstance().getProxySettingsInRequestsFormat()
89 self.init(self.default_server_base)
90
91 def init(self, server_base):
92 self.server_base: config.ApiServer = server_base

Callers 1

__init__Method · 0.45

Calls 5

initMethod · 0.95
getInstanceMethod · 0.45
getMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected