MCPcopy Index your code
hub / github.com/pyfa-org/Pyfa / Cargo

Class Cargo

eos/saveddata/cargo.py:32–101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30
31
32class Cargo(HandledItem, ItemAttrShortcut):
33 def __init__(self, item):
34 """Initialize cargo from the program"""
35 self.__item = item
36 self.itemID = item.ID if item is not None else None
37 self.amount = 0
38 self.__itemModifiedAttributes = ModifiedAttributeDict()
39 self.__itemModifiedAttributes.original = item.attributes
40 self.__itemModifiedAttributes.overrides = item.overrides
41
42 @reconstructor
43 def init(self):
44 """Initialize cargo from the database and validate"""
45 self.__item = None
46
47 if self.itemID:
48 self.__item = eos.db.getItem(self.itemID)
49 if self.__item is None:
50 pyfalog.error("Item (id: {0}) does not exist", self.itemID)
51 return
52
53 self.__itemModifiedAttributes = ModifiedAttributeDict()
54 self.__itemModifiedAttributes.original = self.__item.attributes
55 self.__itemModifiedAttributes.overrides = self.__item.overrides
56
57 @property
58 def itemModifiedAttributes(self):
59 return self.__itemModifiedAttributes
60
61 @property
62 def isInvalid(self):
63 return self.__item is None
64
65 @property
66 def item(self):
67 return self.__item
68
69 def clear(self):
70 self.itemModifiedAttributes.clear()
71
72 @validates("fitID", "itemID", "amount")
73 def validator(self, key, val):
74 map = {
75 "fitID" : lambda _val: isinstance(_val, int),
76 "itemID": lambda _val: isinstance(_val, int),
77 "amount": lambda _val: isinstance(_val, int)
78 }
79
80 if key == "amount" and val > sys.maxsize:
81 val = sys.maxsize
82
83 if not map[key](val):
84 raise ValueError(str(val) + " is not a valid value for " + key)
85 else:
86 return val
87
88 def __deepcopy__(self, memo):
89 copy = Cargo(self.item)

Callers 8

importESIFunction · 0.90
importXmlFunction · 0.90
importEftCfgFunction · 0.90
addCargoMethod · 0.90
processImportInfoFunction · 0.90
displayFitMethod · 0.90
toCargoMethod · 0.90
__deepcopy__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected