22 lines
962 B
Python
22 lines
962 B
Python
import grpc
|
|
from frostfs_sdk.cryptography.key_extension import KeyExtension
|
|
from frostfs_sdk.client.models.ecdsa_model import ECDSA
|
|
from frostfs_sdk.models.dto.version import Version
|
|
from frostfs_sdk.models.dto.owner_id import OwnerId
|
|
from frostfs_sdk.client.utils.session_cache import SessionCache
|
|
|
|
|
|
class ClientEnvironment:
|
|
def __init__(self, ecdsa: ECDSA, channel: grpc.Channel, address: str, version: Version, session_cache: SessionCache):
|
|
self.ecdsa = ecdsa
|
|
self.channel = channel
|
|
self.version = version
|
|
self.owner_id = OwnerId(KeyExtension().get_owner_id_by_public_key(ecdsa.public_key))
|
|
self.session_cache = session_cache
|
|
self.address = address
|
|
self._session_key = None
|
|
|
|
def get_session_key(self):
|
|
if not self._session_key:
|
|
self._session_key = SessionCache.form_cache_key(self.address, KeyExtension.get_hex_string(self.ecdsa.public_key))
|
|
return self._session_key
|