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

storage.py (1069B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\clonegrade\storage.py
      2 import collections
      3 import fsdlite
      4 import immutable
      5 
      6 class CloneGrade(object):
      7     __metaclass__ = immutable.Immutable
      8 
      9     def __new__(cls, *args, **kwargs):
     10         obj = object.__new__(cls, *args, **kwargs)
     11         obj.internalDescription = None
     12         obj._skills = None
     13         obj.skillsByTypeID = None
     14         return obj
     15 
     16     def _get_skills(self):
     17         return self._skills
     18 
     19     def _set_skills(self, skills):
     20         self._skills = skills
     21         self.skillsByTypeID = {skill.typeID:skill for skill in skills}
     22 
     23     skills = property(_get_skills, _set_skills)
     24 
     25 
     26 Skill = collections.namedtuple('Skill', ['typeID', 'level'])
     27 MAPPING = [('$', CloneGrade), ('skills$', Skill)]
     28 
     29 def CloneGradeStorage():
     30     try:
     31         return CloneGradeStorage._storage
     32     except AttributeError:
     33         CloneGradeStorage._storage = fsdlite.EveStorage(data='clonegrades', cache='clonegrades.static', mapping=MAPPING, coerce=int)
     34         return CloneGradeStorage._storage