From 8945dffb0c81d0a66ab0c9cd19d1c14cf7699532 Mon Sep 17 00:00:00 2001 From: mdipierro Date: Thu, 4 Oct 2012 08:35:39 -0500 Subject: [PATCH] allow re-definition of tables --- VERSION | 2 +- gluon/dal.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/VERSION b/VERSION index a3303341..90196dfe 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.0.9 (2012-10-03 12:32:01) dev +Version 2.0.9 (2012-10-04 08:35:24) dev diff --git a/gluon/dal.py b/gluon/dal.py index b98394cc..235b2361 100644 --- a/gluon/dal.py +++ b/gluon/dal.py @@ -185,7 +185,6 @@ SELECT_ARGS = set( ('orderby', 'groupby', 'limitby','required', 'cache', 'left', 'distinct', 'having', 'join','for_update', 'processor','cacheable')) - ogetattr = object.__getattribute__ osetattr = object.__setattr__ exists = os.path.exists @@ -7031,11 +7030,12 @@ def index(): ): if not isinstance(tablename,str): raise SyntaxError, "missing table name" + elif hasattr(self,tablename) or tablename in self.tables: + pass + # raise SyntaxError, 'table may be already defined: %s' % tablename elif tablename.startswith('_') or hasattr(self,tablename) or \ REGEX_PYTHON_KEYWORDS.match(tablename): raise SyntaxError, 'invalid table name: %s' % tablename - elif tablename in self.tables: - raise SyntaxError, 'table already defined: %s' % tablename elif self.check_reserved: self.check_reserved_keyword(tablename) else: @@ -7048,7 +7048,7 @@ def index(): table = None else: table = self.lazy_define_table(tablename,*fields,**args) - self.tables.append(tablename) + if not tablename in self.tables: self.tables.append(tablename) return table def lazy_define_table(