From ad2643266fc3868b30cdff4ba70ad606f555d00d Mon Sep 17 00:00:00 2001 From: Daniele Varrazzo Date: Sun, 1 Jan 2017 06:26:54 +0100 Subject: Fixed sql.compose with no args and added tests --- lib/sql.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/sql.py') diff --git a/lib/sql.py b/lib/sql.py index a5043dc..8be6542 100644 --- a/lib/sql.py +++ b/lib/sql.py @@ -204,7 +204,7 @@ re_compose = re.compile(""" """, re.VERBOSE) -def compose(sql, args=None): +def compose(sql, args=()): phs = list(re_compose.finditer(sql)) # check placeholders consistent @@ -240,8 +240,8 @@ def compose(sql, args=None): return _compose_map(sql, phs, args) else: - if not isinstance(args, collections.Sequence) and args: - raise TypeError( + if isinstance(args, collections.Sequence) and args: + raise ValueError( "the sql string expects no value, got %s instead" % len(args)) # If args are a mapping, no placeholder is an acceptable case @@ -267,7 +267,7 @@ def _compose_seq(sql, phs, args): if phs: rv.append(SQL(sql[phs[-1].end():])) else: - rv.append(sql) + rv.append(SQL(sql)) return Composed(rv) -- cgit v1.2.1