NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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))