From: Daniele Varrazzo Date: Thu, 5 Aug 2021 16:50:15 +0000 (+0100) Subject: Early bailout style in the row factory functions X-Git-Tag: 3.0.dev2~10^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c8112fc64dc25321e1be9139789cf3ff84fd4d12;p=thirdparty%2Fpsycopg.git Early bailout style in the row factory functions --- diff --git a/psycopg/psycopg/rows.py b/psycopg/psycopg/rows.py index a5137b52f..3bf8b6bbb 100644 --- a/psycopg/psycopg/rows.py +++ b/psycopg/psycopg/rows.py @@ -99,16 +99,15 @@ def dict_row(cursor: "BaseCursor[Any, DictRow]") -> RowMaker[DictRow]: to be sequences. """ desc = cursor.description - if desc is not None: - titles = [c.name for c in desc] + if desc is None: + return no_result - def dict_row_(values: Sequence[Any]) -> Dict[str, Any]: - return dict(zip(titles, values)) + titles = [c.name for c in desc] - return dict_row_ + def dict_row_(values: Sequence[Any]) -> Dict[str, Any]: + return dict(zip(titles, values)) - else: - return no_result + return dict_row_ def namedtuple_row( @@ -116,13 +115,12 @@ def namedtuple_row( ) -> RowMaker[NamedTuple]: """Row factory to represent rows as `~collections.namedtuple`.""" desc = cursor.description - if desc is not None: - nt = _make_nt(*(c.name for c in desc)) - return nt._make - - else: + if desc is None: return no_result + nt = _make_nt(*(c.name for c in desc)) + return nt._make + # ascii except alnum and underscore _re_clean = re.compile( @@ -155,16 +153,15 @@ def class_row(cls: Type[T]) -> Callable[["BaseCursor[Any, T]"], RowMaker[T]]: def class_row_(cur: "BaseCursor[Any, T]") -> RowMaker[T]: desc = cur.description - if desc is not None: - names = [d.name for d in desc] + if desc is None: + return no_result - def class_row__(values: Sequence[Any]) -> T: - return cls(**dict(zip(names, values))) # type: ignore + names = [d.name for d in desc] - return class_row__ + def class_row__(values: Sequence[Any]) -> T: + return cls(**dict(zip(names, values))) # type: ignore - else: - return no_result + return class_row__ return class_row_