From a4703917d82a7100ff91d938c0592e39dd757a64 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 24 Mar 2013 13:50:56 -0400 Subject: Loosened the check on dialect-specific argument names passed to Table(); since we want to support external dialects and also want to support args without a certain dialect being installed, it only checks the format of the arg now, rather than looking for that dialect in sqlalchemy.dialects. --- lib/sqlalchemy/dialects/__init__.py | 1 - lib/sqlalchemy/schema.py | 15 +++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) (limited to 'lib/sqlalchemy') diff --git a/lib/sqlalchemy/dialects/__init__.py b/lib/sqlalchemy/dialects/__init__.py index fbbff153c..7f5d34707 100644 --- a/lib/sqlalchemy/dialects/__init__.py +++ b/lib/sqlalchemy/dialects/__init__.py @@ -18,7 +18,6 @@ __all__ = ( from .. import util - def _auto_fn(name): """default dialect importer. diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py index 01a763ca1..9a07b9de4 100644 --- a/lib/sqlalchemy/schema.py +++ b/lib/sqlalchemy/schema.py @@ -93,14 +93,13 @@ def _get_table_key(name, schema): def _validate_dialect_kwargs(kwargs, name): # validate remaining kwargs that they all specify DB prefixes - if len([k for k in kwargs - if not re.match( - r'^(?:%s)_' % - '|'.join(dialects.__all__), k - ) - ]): - raise TypeError( - "Invalid argument(s) for %s: %r" % (name, kwargs.keys())) + + for k in kwargs: + m = re.match('^(.+?)_.*', k) + if m is None: + raise TypeError("Additional arguments should be " + "named _, got '%s'" % k) + inspection._self_inspects(SchemaItem) -- cgit v1.2.1