diff options
| author | Julia Varlamova <jvarlamova@mirantis.com> | 2013-07-17 16:02:51 +0400 |
|---|---|---|
| committer | Julia Varlamova <jvarlamova@mirantis.com> | 2013-07-18 14:16:56 +0400 |
| commit | 5758360a2e970a48a9c64e91b3a14a8a65825be0 (patch) | |
| tree | b32885df94337bebfbee86a6dd6bd135d91a0995 /openstack | |
| parent | a9a7a5fb3322cc5b40aa49ddc9e0c7b4f8cc804a (diff) | |
| download | oslo-5758360a2e970a48a9c64e91b3a14a8a65825be0.tar.gz oslo-5758360a2e970a48a9c64e91b3a14a8a65825be0.tar.xz oslo-5758360a2e970a48a9c64e91b3a14a8a65825be0.zip | |
Raise ValueError if sort_dir is unknown
Raise ValueError in case of KeyError, when sort_dir is not
'asc' or 'desc'.
ValueError while adding pagination has never been raised before,
because if sort direction was incorrect, KeyError has been
raised while adding sorting.
Change-Id: Ia0366dbdf38557c4e6a9307fb27c77fd1c1873c3
Diffstat (limited to 'openstack')
| -rwxr-xr-x[-rw-r--r--] | openstack/common/db/sqlalchemy/utils.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/openstack/common/db/sqlalchemy/utils.py b/openstack/common/db/sqlalchemy/utils.py index 8b855ff..3ff7bdb 100644..100755 --- a/openstack/common/db/sqlalchemy/utils.py +++ b/openstack/common/db/sqlalchemy/utils.py @@ -101,11 +101,14 @@ def paginate_query(query, model, limit, sort_keys, marker=None, # Add sorting for current_sort_key, current_sort_dir in zip(sort_keys, sort_dirs): - sort_dir_func = { - 'asc': sqlalchemy.asc, - 'desc': sqlalchemy.desc, - }[current_sort_dir] - + try: + sort_dir_func = { + 'asc': sqlalchemy.asc, + 'desc': sqlalchemy.desc, + }[current_sort_dir] + except KeyError: + raise ValueError(_("Unknown sort direction, " + "must be 'desc' or 'asc'")) try: sort_key_attr = getattr(model, current_sort_key) except AttributeError: @@ -130,11 +133,8 @@ def paginate_query(query, model, limit, sort_keys, marker=None, model_attr = getattr(model, sort_keys[i]) if sort_dirs[i] == 'desc': crit_attrs.append((model_attr < marker_values[i])) - elif sort_dirs[i] == 'asc': - crit_attrs.append((model_attr > marker_values[i])) else: - raise ValueError(_("Unknown sort direction, " - "must be 'desc' or 'asc'")) + crit_attrs.append((model_attr > marker_values[i])) criteria = sqlalchemy.sql.and_(*crit_attrs) criteria_list.append(criteria) |
