frostfs-sdk-python/frostfs_sdk/client/models/client_environment.py
Ilyas Niyazov 297e107b10 [#3] Added generate proto script create container method
Signed-off-by: Ilyas Niyazov <i.niyazov@yadro.com>
2025-03-25 11:13:48 +03:00

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