X-Git-Url: https://harishankar.org/repos/?p=biaweb_qt.git;a=blobdiff_plain;f=main_window.py;h=57762afd9a9f12c64c28b455986044a88cc15351;hp=02eaa8b78c35397183047e6e391ed0a1f03a4504;hb=ba3069991aeda91317057aa2c115f8c2151d0a98;hpb=bfa2d7e7b048794a95590ee79ba41aa861835cfa diff --git a/main_window.py b/main_window.py index 02eaa8b..57762af 100644 --- a/main_window.py +++ b/main_window.py @@ -23,28 +23,33 @@ class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): recs = biaweb_db.get_categories (self.current_db) # check with False because None is returned when no records exist - if recs == False: + if recs is False: PyQt4.QtGui.QMessageBox.critical (self, "Error", "SQLite 3 error in getting the categories") - return + return False self.categories.clear () for (id, name, desc, stub) in recs: qrow = PyQt4.QtGui.QTreeWidgetItem ([str(id), str(name)]) self.categories.addTopLevelItem (qrow) + # return true when successful + return True + # refresh the articles list def repopulate_articles (self, catid=None): recs = biaweb_db.get_articles (self.current_db, catid) # check with False because None is returned when no records exist - if recs == False: + if recs is False: PyQt4.QtGui.QMessageBox.critical (self, "Error", "SQLite 3 error in getting the articles") - return + return False self.articles.clear () for item in recs: qrow = PyQt4.QtGui.QTreeWidgetItem ([str(item[0]), str(item[1])]) self.articles.addTopLevelItem (qrow) + # return true when successful + return True # when the view is refreshed def onViewRefresh (self): @@ -330,9 +335,21 @@ class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): filename = PyQt4.QtGui.QFileDialog.getOpenFileName (self, "Open Site Database") if filename: self.current_db = str (filename) - self.setWindowTitle ("BiaWeb - " + self.current_db) - self.repopulate_categories () - self.repopulate_articles () + + # added to check whether categories are loaded successfully or not + # if not, then reset the current_db to None + loaded_cats = self.repopulate_categories () + loaded_arts = self.repopulate_articles () + # if failed in loading either categories or articles (note: checking against + # False and not None) + if loaded_cats is False or loaded_arts is False: + self.current_db = None + PyQt4.QtGui.QMessageBox.critical (self, "Error", + "SQLite 3 error in loading site database. This appears to be an invalid BiaWeb database") + else: + # set the window title to the database + self.setWindowTitle ("BiaWeb - " + self.current_db) + # file new menu is clicked def onFileNew (self): @@ -377,7 +394,7 @@ class MainWindow (PyQt4.QtGui.QMainWindow, ui_main_window.Ui_MainWindow): def onAbout (self): PyQt4.QtGui.QMessageBox.about (self, "BiaWeb Qt", "A static website/weblog content management system

\ -Copyright (C) 2010 Harishankar
\ +Copyright © 2010 Harishankar
\ Licensed under GNU/GPL v3") # file quit is clicked