當前位置: 首頁>>代碼示例>>Python>>正文


Python encodeutils.safe_encode方法代碼示例

本文整理匯總了Python中oslo_utils.encodeutils.safe_encode方法的典型用法代碼示例。如果您正苦於以下問題:Python encodeutils.safe_encode方法的具體用法?Python encodeutils.safe_encode怎麽用?Python encodeutils.safe_encode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在oslo_utils.encodeutils的用法示例。


在下文中一共展示了encodeutils.safe_encode方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: http_log_req

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def http_log_req(_logger, args, kwargs):
    if not _logger.isEnabledFor(logging.DEBUG):
        return

    string_parts = ['curl -i']
    for element in args:
        if element in ('GET', 'POST', 'DELETE', 'PUT'):
            string_parts.append(' -X %s' % element)
        else:
            string_parts.append(' %s' % element)

    for element in kwargs['headers']:
        header = ' -H "%s: %s"' % (element, kwargs['headers'][element])
        string_parts.append(header)

    if 'body' in kwargs and kwargs['body']:
        string_parts.append(" -d '%s'" % (kwargs['body']))
    req = encodeutils.safe_encode("".join(string_parts))
    _logger.debug("\nREQ: %s\n", req) 
開發者ID:nttcom,項目名稱:eclcli,代碼行數:21,代碼來源:utils.py

示例2: main

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def main(args=None):
    try:
        if args is None:
            args = sys.argv[1:]

        CeilometerShell().main(args)

    except Exception as e:
        if '--debug' in args or '-d' in args:
            raise
        else:
            print(encodeutils.safe_encode(six.text_type(e)), file=sys.stderr)
        sys.exit(1)
    except KeyboardInterrupt:
        print("Stopping Ceilometer Client", file=sys.stderr)
        sys.exit(130) 
開發者ID:nttcom,項目名稱:eclcli,代碼行數:18,代碼來源:shell.py

示例3: mark_unhealthy

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def mark_unhealthy(self, stack_id, resource_name,
                       mark_unhealthy, resource_status_reason):
        """Mark a resource as healthy or unhealthy.

        :param stack_id: ID of stack containing the resource
        :param resource_name: ID of resource
        :param mark_unhealthy: Mark resource unhealthy if set to True
        :param resource_status_reason: Reason for resource status change.
        """
        stack_id = self._resolve_stack_id(stack_id)
        url_str = '/stacks/%s/resources/%s' % (
                  parse.quote(stack_id, ''),
                  parse.quote(encodeutils.safe_encode(resource_name), ''))
        resp = self.client.patch(
            url_str,
            data={"mark_unhealthy": mark_unhealthy,
                  "resource_status_reason": resource_status_reason})

        body = utils.get_response_body(resp)
        return body 
開發者ID:nttcom,項目名稱:eclcli,代碼行數:22,代碼來源:resources.py

示例4: print_update_list

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def print_update_list(lst, fields, formatters=None):
    """Print the stack-update --dry-run output as a table.

    This function is necessary to print the stack-update --dry-run
    output, which contains additional information about the update.
    """
    formatters = formatters or {}
    pt = prettytable.PrettyTable(fields, caching=False, print_empty=False)
    pt.align = 'l'

    for change in lst:
        row = []
        for field in fields:
            if field in formatters:
                row.append(formatters[field](change.get(field, None)))
            else:
                row.append(change.get(field, None))

        pt.add_row(row)

    if six.PY3:
        print(encodeutils.safe_encode(pt.get_string()).decode())
    else:
        print(encodeutils.safe_encode(pt.get_string())) 
開發者ID:nttcom,項目名稱:eclcli,代碼行數:26,代碼來源:utils.py

示例5: convert_str

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def convert_str(text):
    """Convert to native string.

    Convert bytes and Unicode strings to native strings:

    * convert to bytes on Python 2:
      encode Unicode using encodeutils.safe_encode()
    * convert to Unicode on Python 3: decode bytes from UTF-8
    """
    if six.PY2:
        return encodeutils.to_utf8(text)
    else:
        if isinstance(text, bytes):
            return text.decode('utf-8')
        else:
            return text 
開發者ID:openstack,項目名稱:os-brick,代碼行數:18,代碼來源:utils.py

示例6: convert_str

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def convert_str(text):
    """Convert to native string.

    Convert bytes and Unicode strings to native strings:

    * convert to bytes on Python 2:
      encode Unicode using encodeutils.safe_encode()
    * convert to Unicode on Python 3: decode bytes from UTF-8
    """
    if six.PY2:
        return encodeutils.safe_encode(text)
    else:
        if isinstance(text, bytes):
            return text.decode('utf-8')
        else:
            return text 
開發者ID:openstack,項目名稱:manila,代碼行數:18,代碼來源:utils.py

示例7: _get_encryption_algorithm

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def _get_encryption_algorithm(self, passphrase):
        """Choose whether to use encryption or not based on passphrase

        serialization.BestAvailableEncryption fails if passphrase is not
        given or if less than one byte therefore we need to check if it is
        valid or not
        """
        if passphrase:
            # encryption requires password in bytes format
            algorithm = serialization.BestAvailableEncryption(
                # default encoding is utf-8
                encodeutils.safe_encode(passphrase)
            )
        else:
            algorithm = serialization.NoEncryption()

        return algorithm 
開發者ID:openstack,項目名稱:barbican,代碼行數:19,代碼來源:simple_crypto.py

示例8: _transform_message

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def _transform_message(self, message):
        """Transforms message into JSON.

        Method executes transformation operation for
        single element. Operation is set of following
        operations:

        * checking if message is valid
            (:py:func:`.LogPublisher._is_message_valid`)
        * truncating message if necessary
            (:py:func:`.LogPublisher._truncate`)

        :param model.Envelope message: instance of message
        :return: serialized message
        :rtype: str
        """
        if not self._is_message_valid(message):
            raise InvalidMessageException()
        truncated = self._truncate(message)
        return encodeutils.safe_encode(truncated, incoming='utf-8') 
開發者ID:openstack,項目名稱:monasca-api,代碼行數:22,代碼來源:log_publisher.py

示例9: influxdb_get_post

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def influxdb_get_post(uri, query, db=None):
    """Runs a query using HTTP GET or POST and returns the response as a Python list.
       At some InfluxDB release several ops changed from using GET to POST. For example,
       CREATE DATABASE. To maintain backward compatibility, this function first trys the
       query using POST and if that fails it retries again using GET.
    """

    query_params = {"q": query}
    if db:
        query_params['db'] = db

    try:
        encoded_params = safe_encode(urlparse.urlencode(query_params))
        try:
            req = urllib.request.urlopen(uri, encoded_params)
            return format_response(req)

        except urllib.error.HTTPError:
            uri = "{}&{}".format(uri, encoded_params)
            req = urllib.request.urlopen(uri)
            return format_response(req)

    except KeyError:
        sys.exit(1) 
開發者ID:openstack,項目名稱:monasca-api,代碼行數:26,代碼來源:influxdb_setup.py

示例10: _data_request

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def _data_request(self, path, data, content_type='application/json',
                      method='POST', version=None, params=None):
        environ = self._environ(path)
        environ['REQUEST_METHOD'] = method

        if params:
            qs = "&".join(["=".join([k, str(params[k])]) for k in params])
            environ['QUERY_STRING'] = qs

        req = wsgi.Request(environ)
        req.context = utils.dummy_context('api_test_user', self.project)
        self.context = req.context
        ver = version if version else wsgi.DEFAULT_API_VERSION
        req.version_request = vr.APIVersionRequest(ver)
        req.body = encodeutils.safe_encode(data) if data else None
        return req 
開發者ID:openstack,項目名稱:senlin,代碼行數:18,代碼來源:shared.py

示例11: test_resource_call_error_handle

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def test_resource_call_error_handle(self):
        class Controller(object):
            def delete(self, req, identity):
                return (req, identity)

        actions = {'action': 'delete', 'id': 12, 'body': 'data'}
        env = {'wsgiorg.routing_args': [None, actions]}
        request = wsgi.Request.blank('/tests/123', environ=env)
        request.body = encodeutils.safe_encode('{"foo" : "value"}')
        resource = wsgi.Resource(Controller())

        # The Resource does not throw webob.HTTPExceptions, since they
        # would be considered responses by wsgi and the request flow would end,
        # instead they are wrapped so they can reach the fault application
        # where they are converted to a JSON response
        e = self.assertRaises(exception.HTTPExceptionDisguise,
                              resource, request)
        self.assertIsInstance(e.exc, webob.exc.HTTPBadRequest) 
開發者ID:openstack,項目名稱:senlin,代碼行數:20,代碼來源:test_wsgi.py

示例12: encrypt

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def encrypt(value, encryption_key=None):
    if value is None:
        return None

    encryption_key = get_valid_encryption_key(encryption_key)
    encoded_key = base64.b64encode(encryption_key.encode('utf-8'))
    sym = fernet.Fernet(encoded_key)
    res = sym.encrypt(encodeutils.safe_encode(value))
    return encodeutils.safe_decode(res) 
開發者ID:openstack,項目名稱:zun,代碼行數:11,代碼來源:crypt.py

示例13: decrypt

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def decrypt(data, encryption_key=None):
    if data is None:
        return None

    encryption_key = get_valid_encryption_key(encryption_key)
    encoded_key = base64.b64encode(encryption_key.encode('utf-8'))
    sym = fernet.Fernet(encoded_key)
    try:
        value = sym.decrypt(encodeutils.safe_encode(data))
        if value is not None:
            return encodeutils.safe_decode(value, 'utf-8')
    except fernet.InvalidToken:
        raise exception.InvalidEncryptionKey() 
開發者ID:openstack,項目名稱:zun,代碼行數:15,代碼來源:crypt.py

示例14: json_encode

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def json_encode(obj):
    return encodeutils.safe_encode(jsonutils.dumps(obj), 'utf-8') 
開發者ID:openstack,項目名稱:freezer-api,代碼行數:4,代碼來源:utils.py

示例15: base64_encode_psk

# 需要導入模塊: from oslo_utils import encodeutils [as 別名]
# 或者: from oslo_utils.encodeutils import safe_encode [as 別名]
def base64_encode_psk(self):
        if not self.vpnservice:
            return
        for ipsec_site_conn in self.vpnservice['ipsec_site_connections']:
            psk = ipsec_site_conn['psk']
            encoded_psk = base64.b64encode(encodeutils.safe_encode(psk))
            # NOTE(huntxu): base64.b64encode returns an instance of 'bytes'
            # in Python 3, convert it to a str. For Python 2, after calling
            # safe_decode, psk is converted into a unicode not containing any
            # non-ASCII characters so it doesn't matter.
            psk = encodeutils.safe_decode(encoded_psk, incoming='utf_8')
            ipsec_site_conn['psk'] = PSK_BASE64_PREFIX + psk 
開發者ID:openstack,項目名稱:neutron-vpnaas,代碼行數:14,代碼來源:ipsec.py


注:本文中的oslo_utils.encodeutils.safe_encode方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。