[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/work/kbugbuster-isi/KBugBuster-v2/src/controller
From:       Kévin Kin-Foo <kevinkinfoo () gmail ! com>
Date:       2009-02-25 16:01:57
Message-ID: 1235577717.949832.5863.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 931628 by kevinkinfoo:

Error handling

 M  +24 -9     SearchController.py  


--- branches/work/kbugbuster-isi/KBugBuster-v2/src/controller/SearchController.py #931627:931628
@@ -1,6 +1,7 @@
 #############################################################################
 ##
 ## Copyright (C) 2008 Gael    Courcelle  <gael.courcelle@gmail.com>
+## Copyright (C) 2009 Kevin   KIN-FOO    <kevinkinfoo@gmail.com>
 ##
 ## This program is free software; you can redistribute it and/or
 ## modify it under the terms of the GNU General Public License as
@@ -23,6 +24,7 @@
 from model.Bug import Bug
 from model.Search import Search
 from model.DataBaseAccess import DataBaseAccess
+from sqlite3 import OperationalError
 from time import gmtime
 from time import mktime
 from model.CacheSystem import CacheSystem
@@ -67,15 +69,28 @@
         self.window.searchDialog.setDataCVT(dataCVT)   
                       
     def searchBugById(self, server_id, bug_id):
-        bugListDB = self.dbAccess.getBug(bug_id)
-        self.bugList = {}
-        if len(bugListDB) != 0 :
-            self.bugList[0] = Bug(bugListDB)
-        else:
-            self.window.showMessage( "No bugs Found." )
-        #print "Le server est" + str( dir() )
-        self.window.searchTree.setModel(self.bugList)
-        self.window.loadSearch(0, server_id, 1)
+        """Retrieve a Bug from its ID either from web or local database."""
+        try:
+            # Retrieve bugs from local database
+            bugListDB = self.dbAccess.getBug(bug_id)
+
+            # Initialize users current bug list
+            self.bugList = {}
+
+            if len(bugListDB) != 0 :
+                self.bugList[0] = Bug(bugListDB)
+                self.window.showMessage(
+                    "Bug from local database loaded."
+                )
+            else:
+                self.window.showMessage(
+                    "No bugs found in local database."
+                )
+            self.window.searchTree.setModel(self.bugList)
+            self.window.loadSearch(0, server_id, 1)
+        except  OperationalError, e:
+            # In case given bug ID is not integer
+            self.window.showMessage( "Invalid bug ID." )
         
     def loadNewSearch(self, idServer):
         data={}
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic