(self, fallbackState=None)
| 100 | return info |
| 101 | |
| 102 | def toModule(self, fallbackState=None): |
| 103 | mkt = Market.getInstance() |
| 104 | |
| 105 | item = mkt.getItem(self.itemID, eager=('attributes', 'group.category')) |
| 106 | if self.baseItemID and self.mutaplasmidID: |
| 107 | baseItem = mkt.getItem(self.baseItemID, eager=('attributes', 'group.category')) |
| 108 | mutaplasmid = eos.db.getDynamicItem(self.mutaplasmidID) |
| 109 | else: |
| 110 | baseItem = None |
| 111 | mutaplasmid = None |
| 112 | try: |
| 113 | mod = Module(item, baseItem=baseItem, mutaplasmid=mutaplasmid) |
| 114 | except ValueError: |
| 115 | pyfalog.warning('Invalid item: {}'.format(self.itemID)) |
| 116 | return None |
| 117 | |
| 118 | if self.mutations is not None: |
| 119 | for attrID, mutator in mod.mutators.items(): |
| 120 | if attrID in self.mutations: |
| 121 | mutator.value = self.mutations[attrID] |
| 122 | |
| 123 | if self.spoolType is not None and self.spoolAmount is not None: |
| 124 | mod.spoolType = self.spoolType |
| 125 | mod.spoolAmount = self.spoolAmount |
| 126 | |
| 127 | mod.rahPatternOverride = self.rahPattern |
| 128 | |
| 129 | if self.state is not None: |
| 130 | if mod.isValidState(self.state): |
| 131 | mod.state = self.state |
| 132 | else: |
| 133 | mod.state = mod.getMaxState(proposedState=self.state) |
| 134 | elif fallbackState is not None: |
| 135 | if mod.isValidState(fallbackState): |
| 136 | mod.state = fallbackState |
| 137 | |
| 138 | if self.chargeID is not None: |
| 139 | charge = mkt.getItem(self.chargeID, eager=('attributes',)) |
| 140 | if charge is None: |
| 141 | pyfalog.warning('Cannot set charge {}'.format(self.chargeID)) |
| 142 | return None |
| 143 | mod.charge = charge |
| 144 | |
| 145 | return mod |
| 146 | |
| 147 | def __eq__(self, other): |
| 148 | if not isinstance(other, ModuleInfo): |
no test coverage detected