* gnu/packages/patches/fifengine-python-3.9-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/games.scm (fifengine)[source]: Apply it. Change-Id: I61001d6b87db00c71f1e2e6ca3bac8581e941451 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
		
			
				
	
	
		
			81 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
Fix runtime error when using Python 3.9 or newer.
 | 
						|
 | 
						|
Taken from upstream:
 | 
						|
https://github.com/fifengine/fifengine/commit/cf295fd98a8fba080f6305c27be56d10ab7ce94d
 | 
						|
 | 
						|
diff --git a/engine/python/fife/extensions/serializers/simplexml.py b/engine/python/fife/extensions/serializers/simplexml.py
 | 
						|
index c4e10f4f8..d05567936 100644
 | 
						|
--- a/engine/python/fife/extensions/serializers/simplexml.py
 | 
						|
+++ b/engine/python/fife/extensions/serializers/simplexml.py
 | 
						|
@@ -200,7 +200,7 @@ def get(self, module, name, defaultValue=None):
 | 
						|
 		#get the module tree: for example find tree under module FIFE
 | 
						|
 		moduleTree = self._getModuleTree(module)
 | 
						|
 		element = None
 | 
						|
-		for e in moduleTree.getchildren():
 | 
						|
+		for e in moduleTree:
 | 
						|
 			if e.tag == "Setting" and e.get("name", "") == name:
 | 
						|
 				element = e
 | 
						|
 				break
 | 
						|
@@ -275,7 +275,7 @@ def set(self, module, name, value, extra_attrs={}):
 | 
						|
 			e_type = "str"
 | 
						|
 			value = str(value)
 | 
						|
 
 | 
						|
-		for e in moduleTree.getchildren():
 | 
						|
+		for e in moduleTree:
 | 
						|
 			if e.tag != "Setting": continue
 | 
						|
 			if e.get("name", "") == name:
 | 
						|
 				e.text = value
 | 
						|
@@ -305,7 +305,7 @@ def remove(self, module, name):
 | 
						|
 
 | 
						|
 		moduleTree = self._getModuleTree(module)
 | 
						|
 
 | 
						|
-		for e in moduleTree.getchildren():
 | 
						|
+		for e in moduleTree:
 | 
						|
 			if e.tag != "Setting": continue
 | 
						|
 			if e.get("name", "") == name:
 | 
						|
 				moduleTree.remove(e)
 | 
						|
@@ -321,7 +321,7 @@ def getModuleNameList(self):
 | 
						|
 			self._initialized = True
 | 
						|
 
 | 
						|
 		moduleNames = []
 | 
						|
-		for c in self._root_element.getchildren():
 | 
						|
+		for c in self._root_element:
 | 
						|
 			if c.tag == "Module":
 | 
						|
 				name = c.get("name","")
 | 
						|
 				if not isinstance(name, basestring):
 | 
						|
@@ -344,7 +344,7 @@ def getAllSettings(self, module):
 | 
						|
 		
 | 
						|
 		# now from the tree read every value, and put the necessary values
 | 
						|
 		# to the list
 | 
						|
-		for e in moduleTree.getchildren():
 | 
						|
+		for e in moduleTree:
 | 
						|
 			if e.tag == "Setting":
 | 
						|
 				name = e.get("name", "")
 | 
						|
 	
 | 
						|
@@ -383,7 +383,7 @@ def _validateTree(self):
 | 
						|
 		
 | 
						|
 		Raises an InvalidFormat exception if there is a format error.
 | 
						|
 		"""
 | 
						|
-		for c in self._root_element.getchildren():
 | 
						|
+		for c in self._root_element:
 | 
						|
 			if c.tag != "Module":
 | 
						|
 				raise InvalidFormat("Invalid tag in " + self._file + \
 | 
						|
 									". Expected Module, got: " + c.tag)
 | 
						|
@@ -391,7 +391,7 @@ def _validateTree(self):
 | 
						|
 				raise InvalidFormat("Invalid tag in " + self._file + \
 | 
						|
 									". Module name is empty.")
 | 
						|
 			else:
 | 
						|
-				for e in c.getchildren():
 | 
						|
+				for e in c:
 | 
						|
 					if e.tag != "Setting":
 | 
						|
 						raise InvalidFormat("Invalid tag in " + self._file + \
 | 
						|
 											" in module: " + c.tag + \
 | 
						|
@@ -414,7 +414,7 @@ def _getModuleTree(self, module):
 | 
						|
 			raise AttributeError("Settings:_getModuleTree: Invalid type for "
 | 
						|
 								 "module argument.")
 | 
						|
 
 | 
						|
-		for c in self._root_element.getchildren():
 | 
						|
+		for c in self._root_element:
 | 
						|
 			if c.tag == "Module" and c.get("name", "") == module:
 | 
						|
 				return c
 | 
						|
 
 |