[kde-services-devel] r494 - trunk/scripts/ghns

josef at new.kstuff.org josef at new.kstuff.org
Sun Nov 23 16:51:04 CET 2008


Author: josef
Date: 2008-11-23 16:51:03 +0100 (Sun, 23 Nov 2008)
New Revision: 494

Modified:
   trunk/scripts/ghns/ghns-from-desktop.py
Log:
- fix utf-8 issue in this script



Modified: trunk/scripts/ghns/ghns-from-desktop.py
===================================================================
--- trunk/scripts/ghns/ghns-from-desktop.py	2008-11-23 15:30:46 UTC (rev 493)
+++ trunk/scripts/ghns/ghns-from-desktop.py	2008-11-23 15:51:03 UTC (rev 494)
@@ -23,37 +23,53 @@
 
 items = cp.items("KGameTheme")
 
+names = {}
+summaries = {}
+
 for item in items:
 	(key, value) = item
 	if key[:4] == "name" and len(key) > 4:
-		namevalue = value
-		lang = key[5:7]
+		namevalue = unicode(value, "utf-8")
+		lang = key[4:]
+		lang = lang[1:-1]
 
-		name = dom.createElement("name")
-		name.setAttribute("lang", lang)
-		nametext = dom.createTextNode(namevalue)
-		name.appendChild(nametext)
-
-		br = dom.createTextNode("\n      ")
-		stuff.appendChild(br)
-		stuff.appendChild(name)
+		names[lang] = namevalue
 	elif key[:11] == "description" and len(key) > 11:
-		descvalue = value
-		lang = key[12:14]
+		descvalue = unicode(value, "utf-8")
+		lang = key[11:]
+		lang = lang[1:-1]
 
-		desc = dom.createElement("summary")
-		desc.setAttribute("lang", lang)
-		desctext = dom.createTextNode(descvalue)
-		desc.appendChild(desctext)
+		summaries[lang] = descvalue
 
-		br = dom.createTextNode("\n      ")
-		stuff.appendChild(br)
-		stuff.appendChild(desc)
+for lang in names.keys():
+	namevalue = names[lang]
 
+	name = dom.createElement("name")
+	name.setAttribute("lang", lang)
+	nametext = dom.createTextNode(namevalue)
+	name.appendChild(nametext)
+
+	br = dom.createTextNode("\n      ")
+	stuff.appendChild(br)
+	stuff.appendChild(name)
+
+for lang in summaries.keys():
+	descvalue = summaries[lang]
+
+	desc = dom.createElement("summary")
+	desc.setAttribute("lang", lang)
+	desctext = dom.createTextNode(descvalue)
+	desc.appendChild(desctext)
+
+	br = dom.createTextNode("\n      ")
+	stuff.appendChild(br)
+	stuff.appendChild(desc)
+
 out = dom.toxml("utf-8")
-#out = out.encode("utf-8", "replace")
 
-outfile = open(metafile + ".X", "w")
+outfile = open(metafile + ".translated", "w")
 outfile.write(out)
 outfile.close()
 
+print "Saved new meta file as " + metafile + ".translated."
+



More information about the kde-services-devel mailing list