# HG changeset patch # User Marcin Kuzminski # Date 2016-12-29 12:45:11 # Node ID 59c22420943c045af68a1017d484fd71f4cc89de # Parent 75bb007e9bea8fbccfeca5e11643dcaf08e31dd2 api-utils: added helpers flag to extrac boolean flags from Optional parameters. diff --git a/rhodecode/api/utils.py b/rhodecode/api/utils.py --- a/rhodecode/api/utils.py +++ b/rhodecode/api/utils.py @@ -26,11 +26,12 @@ import collections import logging from rhodecode.api.exc import JSONRPCError -from rhodecode.lib.auth import HasPermissionAnyApi, HasRepoPermissionAnyApi, \ - HasRepoGroupPermissionAnyApi +from rhodecode.lib.auth import ( + HasPermissionAnyApi, HasRepoPermissionAnyApi, HasRepoGroupPermissionAnyApi) from rhodecode.lib.utils import safe_unicode +from rhodecode.lib.vcs.exceptions import RepositoryError from rhodecode.controllers.utils import get_commit_from_ref_name -from rhodecode.lib.vcs.exceptions import RepositoryError +from rhodecode.lib.utils2 import str2bool log = logging.getLogger(__name__) @@ -92,7 +93,7 @@ class Optional(object): return self.type_ @classmethod - def extract(cls, val, evaluate_locals=None): + def extract(cls, val, evaluate_locals=None, binary=None): """ Extracts value from Optional() instance @@ -101,7 +102,11 @@ class Optional(object): value of instance """ if isinstance(val, cls): - return val.getval(evaluate_locals) + val = val.getval(evaluate_locals) + + if binary: + val = str2bool(val) + return val