offer_identifier.py (1698B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\store\client\targetaudience\offer_identifier.py 2 from __future__ import absolute_import, division, print_function 3 from eveProto.generated.eve_public.store.targetaudience.catalogue.entry.entry_pb2 import Identifier as CatalogueEntryIdentifier 4 from eveProto.generated.eve_public.store.targetaudience.offer.offer_pb2 import Identifier as OfferIdentifier 5 from eveProto.generated.eve_public.user.user_pb2 import Identifier as UserIdentifier 6 7 class TargetAudienceOfferIdentifier(object): 8 9 def __init__(self, user_id, catalogue_entry_name): 10 self._user_id = user_id 11 self._catalogue_entry_name = catalogue_entry_name 12 13 @property 14 def user_id(self): 15 return self._user_id 16 17 @property 18 def catalogue_entry_name(self): 19 return self._catalogue_entry_name 20 21 @classmethod 22 def build_from_proto(cls, payload): 23 return TargetAudienceOfferIdentifier(user_id=payload.user_id.sequential, catalogue_entry_name=payload.catalogue_entry.name) 24 25 @classmethod 26 def to_proto(cls, offer_identifier): 27 return OfferIdentifier(user_id=UserIdentifier(sequential=offer_identifier.user_id), catalogue_entry=CatalogueEntryIdentifier(name=offer_identifier.catalogue_entry_name)) 28 29 def __str__(self): 30 return '%s/%s' % (self.user_id, self.catalogue_entry_name) 31 32 def __eq__(self, other): 33 return other is not None and self.user_id == other.user_id and self.catalogue_entry_name == other.catalogue_entry_name 34 35 def __ne__(self, other): 36 return not self == other 37 38 def __hash__(self): 39 return hash((self.user_id, self.catalogue_entry_name))