Hello,

On Sat, Dec 23, 2006 at 06:50:53PM +0100, [EMAIL PROTECTED] wrote:
> 
> Here is a patch that tells Pootle to ignore errors when a file is
> imported (i.e. report the error and continue with the next files).

I had some failures with this patch (I probably tested in a project with
existing stats). A language was removed from an array inside a loop.

So here is a second patch.
It should deal with both projects and languages indexes (in these indexes,
it displays an empty line (no stats) for the offending PO).

Kind Regards,
-- 
Nekral
Index: Pootle/indexpage.py
===================================================================
--- Pootle/indexpage.py (révision 42)
+++ Pootle/indexpage.py (copie de travail)
@@ -32,6 +32,7 @@
 import os
 import sys
 import sre
+import traceback
 
 def summarizestats(statslist, totalstats=None):
   if totalstats is None:
@@ -229,6 +230,7 @@
     return projectitems
 
   def getprojectitem(self, projectcode):
+   try:
     href = '%s/' % projectcode
     projectname = self.potree.getprojectname(projectcode)
     projectdescription = 
shortdescription(self.potree.getprojectdescription(projectcode))
@@ -238,6 +240,12 @@
     projectdata = self.getstats(project, projectstats, len(pofilenames))
     self.updatepagestats(projectdata["translatedwords"], 
projectdata["totalwords"])
     return {"code": projectcode, "href": href, "icon": "folder", "title": 
projectname, "description": projectdescription, "data": projectdata, 
"isproject": True}
+   except:
+    sys.stderr.write("Problem in project '%s', language: '%s'.\n"
+                     %(projectcode, self.languagecode))
+    traceback.print_exc()
+    sys.stderr.write("\n")
+    return {"code": projectcode, "href": "", "icon": "folder", "title": 
projectname, "data": {}, "isproject": True}
 
 class ProjectLanguageIndex(pagelayout.PootleNavPage):
   """The main page for a project, listing all the languages belonging to it"""
@@ -281,12 +289,19 @@
     return languageitems
 
   def getlanguageitem(self, languagecode, languagename):
+   try:
     language = self.potree.getproject(languagecode, self.projectcode)
     href = "../../%s/%s/" % (languagecode, self.projectcode)
     quickstats = language.getquickstats()
     data = self.getstats(language, quickstats, len(language.pofilenames))
     self.updatepagestats(data["translatedwords"], data["totalwords"])
     return {"code": languagecode, "icon": "language", "href": href, "title": 
languagename, "data": data}
+   except:
+    sys.stderr.write("Problem in project '%s', language: '%s'.\n"
+                     %(self.projectcode, languagecode))
+    traceback.print_exc()
+    sys.stderr.write("\n")
+    return {"code": languagecode, "icon": "language", "href": "", "title": 
languagename, "data": {}}
 
 class ProjectIndex(pagelayout.PootleNavPage):
   """The main page of a project in a specific language"""
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Translate-pootle mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/translate-pootle

Reply via email to