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

Class Character

service/character.py:141–487  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

139
140
141class Character:
142 instance = None
143 skillReqsDict = {}
144
145 @classmethod
146 def getInstance(cls):
147 if cls.instance is None:
148 cls.instance = Character()
149
150 return cls.instance
151
152 def __init__(self):
153 # Simply initializes default characters in case they aren't in the database yet
154 self.all0()
155 self.all5()
156
157 def exportText(self):
158 data = "Pyfa exported plan for \"" + self.skillReqsDict['charname'] + "\"\n"
159 data += "=" * 79 + "\n"
160 data += "\n"
161 item = ""
162 try:
163 for s in self.skillReqsDict['skills']:
164 if item == "" or not item == s["item"]:
165 item = s["item"]
166 data += "-" * 79 + "\n"
167 data += "Skills required for {}:\n".format(item)
168 data += "{}{}: {}\n".format(" " * s["indent"], s["skill"], int(s["level"]))
169 data += "-" * 79 + "\n"
170 except (KeyboardInterrupt, SystemExit):
171 raise
172 except Exception:
173 pass
174
175 return data
176
177 def exportXml(self):
178 root = ElementTree.Element("plan")
179 root.attrib["name"] = "Pyfa exported plan for " + self.skillReqsDict['charname']
180 root.attrib["revision"] = config.evemonMinVersion
181
182 sorts = ElementTree.SubElement(root, "sorting")
183 sorts.attrib["criteria"] = "None"
184 sorts.attrib["order"] = "None"
185 sorts.attrib["groupByPriority"] = "false"
186
187 skillsSeen = set()
188
189 for s in self.skillReqsDict['skills']:
190 skillKey = str(s["skillID"]) + "::" + s["skill"] + "::" + str(int(s["level"]))
191 if skillKey in skillsSeen:
192 pass # Duplicate skills confuse EVEMon
193 else:
194 skillsSeen.add(skillKey)
195 entry = ElementTree.SubElement(root, "entry")
196 entry.attrib["skillID"] = str(s["skillID"])
197 entry.attrib["skill"] = s["skill"]
198 entry.attrib["level"] = str(int(s["level"]))

Callers 1

getInstanceMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected