achievement_reached_milestone.py (2075B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\achievement_system\client\model\state\achievement_reached_milestone.py 2 import datetime 3 from achievement_system.client.model.definition.achievement.milestone.identifier import AchievementMilestoneDefinitionIdentifier 4 from eveProto.generated.eve_public.achievement.api.requests_pb2 import GetResponse as ProtoGetResponse 5 from google.protobuf.timestamp_pb2 import Timestamp 6 7 class AchievementReachedMilestone(object): 8 9 def __init__(self, identifier, reached_date, category_points_awarded): 10 self._identifier = identifier 11 self._reached_date = reached_date 12 self._category_points_awarded = category_points_awarded 13 14 @property 15 def identifier(self): 16 return self._identifier 17 18 @property 19 def reached_date(self): 20 return self._reached_date 21 22 @property 23 def category_points_awarded(self): 24 return self._category_points_awarded 25 26 def __str__(self): 27 return 'Reached Milestone ({0})\n{1}\n{2}'.format(self._identifier, self._reached_date, self._category_points_awarded) 28 29 @classmethod 30 def from_proto(cls, payload): 31 return AchievementReachedMilestone(identifier=AchievementMilestoneDefinitionIdentifier.from_proto(payload=payload.milestone), reached_date=datetime.datetime.fromtimestamp(payload.reached_date.seconds), category_points_awarded=payload.category_points_awarded) 32 33 @classmethod 34 def to_proto(cls, instance): 35 proto_reached_date = Timestamp() 36 proto_reached_date.FromDatetime(instance.reached_date) 37 return ProtoGetResponse.ReachedMilestone(milestone=AchievementMilestoneDefinitionIdentifier.to_proto(instance.identifier), reached_date=proto_reached_date, category_points_awarded=instance.category_points_awarded) 38 39 def __eq__(self, other): 40 return self.identifier == other.identifier and self.reached_date == other.reached_date and self.category_points_awarded == other.category_points_awarded 41 42 def __ne__(self, other): 43 return not self.__eq__(other)