[Add] <resedit> hacked together chance for multiple fleets with differenct chance of the same type.

This commit is contained in:
Allanis 2013-06-19 21:55:13 +01:00
parent 39578da94d
commit a0fe785fe2
2 changed files with 29 additions and 18 deletions

View File

@ -33,11 +33,12 @@ def load_Tag(node, do_array=None, do_special=None):
i = 0
# Figure out if we need an array or dic.
if do_array != None and node.nodeName in do_array:
array = []
array = []
section = {}
if(do_array != None and node.nodeName in do_array) or \
(do_special != None and node.nodeName in do_special):
use_array = True
else:
section = {}
use_array = False
for child in filter(lambda x: x.nodeType == x.ELEMENT_NODE, node.childNodes):
@ -50,13 +51,14 @@ def load_Tag(node, do_array=None, do_special=None):
section[child.nodeName] = children
# Big ugly hack to use list instead of array.
elif use_array:
elif use_array and node.nodeName in do_array:
array.append(child.firstChild.data)
# Uglier hack for special things.
elif do_special != None and node.nodeName in do_special.keys():
elif use_array and do_special != None and node.nodeName in do_special.keys():
section[child.firstChild.data] = \
child.attributes[do_special[node.nodeName]].value
array.append(section)
elif n > 0:
section[child.nodeName] = children
@ -111,12 +113,14 @@ def save_Tag(xml, parent, data, do_array=None, do_special=None):
# Check see if we need to run the ULTRA UBER HACK!
elif do_special != None and key in do_special.keys():
for key2, value2 in value.items():
node2 = xml.createElement(do_special[key][0])
node2.setAttribute(do_special[key][1], value2)
txtnode = xml.createTextNode(str(key2))
node2.appendChild(txtnode)
node.appendChild(node2)
for item in value:
for key2, value2 in item.items(): # Should only be one member.
node2 = xml.createElement(do_special[key][0])
node2.setAttribute(do_special[key][1], value2)
txtnode = xml.createTextNode(str(key2))
node2.appendChild(txtnode)
node.appendChild(node2)
elif isinstance(value, dict):
save_Tag(xml, node, value, do_array, do_special)

View File

@ -241,8 +241,9 @@ class Space:
# Load fleets.
fleets = gtk.ListStore(str, int)
for fleet, chance in system["fleets"].items():
treenode = fleets.append([fleet, int(chance)])
for item in system["fleets"]:
for fleet, chance in item.items():
treenode = fleets.append([fleet, int(chance)])
wgt = self.__swidget("treFleets")
if wgt.get_column(0):
wgt.remove_column(wgt.get_column(0))
@ -644,20 +645,26 @@ class Space:
iter = tree.get_selection().get_selected()[1]
except:
return ""
return model.get_value(iter, 0)
return model.get_value(iter, 0), mode.get_value(iter, 1)
def __fleet_add(self, wgt=None, event=None):
fleet = self.__swidget("comFleets").get_active_text()
value = self.__swidget("spiFleets").get_value_as_int()
if fleet != "None" and value > 0:
self.systems[self.cur_system]["fleets"][fleet] = str(value)
self.systems[self.cur_system]["fleets"].append({fleet:str(value)})
self.__supdate()
def __fleet_rm(self, wgt=None, event=None):
sel = self.__fleet_sel()
sel, chance = self.__fleet_sel()
if sel is "":
return
del self.systems[self.cur_system]["fleets"][sel]
i = 0
for item in self.systems[self.cur_system]["fleets"]:
for key, value in item.items():
if key == sel and value == chance:
self.systems[self.cur_system]["fleets"].pop(i)
i = i+1
print self.systems[self.cur_system]["fleets"]
self.__supdate()
"""