# HG changeset patch # User Björn Ricks # Date 1354804156 -3600 # Node ID 83ba64c9a51e706e0dc0ae3e6bc6cbc25902cce6 # Parent 90abd423fc0ce44e4e9dcf49d777f6f6b475ddd4 A project entry in the db must have a key Without a key a project is not selectable. diff -r 90abd423fc0c -r 83ba64c9a51e getan/backend.py --- a/getan/backend.py Thu Dec 06 15:04:29 2012 +0100 +++ b/getan/backend.py Thu Dec 06 15:29:16 2012 +0100 @@ -25,7 +25,7 @@ """ CREATE TABLE projects ( id INTEGER PRIMARY KEY AUTOINCREMENT, - key VARCHAR(16), + key VARCHAR(16) NOT NULL, description VARCHAR(256), active BOOLEAN DEFAULT 1 ) @@ -87,6 +87,9 @@ logger = logging.getLogger() +class InvalidProjectKeyError(Exception): + pass + class Backend(object): def __init__(self, database = DEFAULT_DATABASE): @@ -132,6 +135,10 @@ if not row: break + # check key + if not row[1]: + raise InvalidProjectKeyError("Project with id %s needs " \ + "a key" % row[0]) proj = Project(*row) proj.entries = self.load_entries(proj.id) projects.append(proj)