• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python compat.force_text函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中rest_framework.compat.force_text函数的典型用法代码示例。如果您正苦于以下问题:Python force_text函数的具体用法?Python force_text怎么用?Python force_text使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了force_text函数的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: get_encoded_filename

 def get_encoded_filename(self, filename_parm):
     """
     Handle encoded filenames per RFC6266. See also:
     http://tools.ietf.org/html/rfc2231#section-4
     """
     encoded_filename = force_text(filename_parm['filename*'])
     try:
         charset, lang, filename = encoded_filename.split('\'', 2)
         filename = urlparse.unquote(filename)
     except (ValueError, LookupError):
         filename = force_text(filename_parm['filename'])
     return filename
开发者ID:NetSach,项目名称:django-rest-framework,代码行数:12,代码来源:parsers.py


示例2: __init__

    def __init__(self, wait=None, detail=None):
        if detail is not None:
            self.detail = force_text(detail)
        else:
            self.detail = force_text(self.default_detail)

        if wait is None:
            self.wait = None
        else:
            self.wait = math.ceil(wait)
            self.detail += ' ' + force_text(
                self.extra_detail % {'wait': self.wait}
            )
开发者ID:NetSach,项目名称:django-rest-framework,代码行数:13,代码来源:exceptions.py


示例3: default

 def default(self, o):
     # For Date Time string spec, see ECMA 262
     # http://ecma-international.org/ecma-262/5.1/#sec-15.9.1.15
     if isinstance(o, Promise):
         return force_text(o)
     elif isinstance(o, datetime.datetime):
         r = o.isoformat()
         if o.microsecond:
             r = r[:23] + r[26:]
         if r.endswith('+00:00'):
             r = r[:-6] + 'Z'
         return r
     elif isinstance(o, datetime.date):
         return o.isoformat()
     elif isinstance(o, datetime.time):
         if timezone and timezone.is_aware(o):
             raise ValueError("JSON can't represent timezone-aware times.")
         r = o.isoformat()
         if o.microsecond:
             r = r[:12]
         return r
     elif isinstance(o, datetime.timedelta):
         return str(o.total_seconds())
     elif isinstance(o, decimal.Decimal):
         return str(o)
     elif hasattr(o, 'tolist'):
         return o.tolist()
     elif hasattr(o, '__iter__'):
         return [i for i in o]
     return super(JSONEncoder, self).default(o)
开发者ID:FreakyDug,项目名称:django-rest-framework,代码行数:30,代码来源:encoders.py


示例4: as_form_field

 def as_form_field(self):
     values = {}
     for key, value in self.value.items():
         if isinstance(value, (list, dict)):
             values[key] = value
         else:
             values[key] = "" if value is None else force_text(value)
     return self.__class__(self._field, values, self.errors, self._prefix)
开发者ID:nikolskiy,项目名称:django-rest-framework,代码行数:8,代码来源:serializer_helpers.py


示例5: urlize_quoted_links

def urlize_quoted_links(text, trim_url_limit=None, nofollow=True, autoescape=True):
    """
    Converts any URLs in text into clickable links.

    Works on http://, https://, www. links and links ending in .org, .net or
    .com. Links can have trailing punctuation (periods, commas, close-parens)
    and leading punctuation (opening parens) and it'll still do the right
    thing.

    If trim_url_limit is not None, the URLs in link text longer than this limit
    will truncated to trim_url_limit-3 characters and appended with an elipsis.

    If nofollow is True, the URLs in link text will get a rel="nofollow"
    attribute.

    If autoescape is True, the link text and URLs will get autoescaped.
    """
    trim_url = lambda x, limit=trim_url_limit: limit is not None and (len(x) > limit and ('%s...' % x[:max(0, limit - 3)])) or x
    safe_input = isinstance(text, SafeData)
    words = word_split_re.split(force_text(text))
    nofollow_attr = nofollow and ' rel="nofollow"' or ''
    for i, word in enumerate(words):
        match = None
        if '.' in word or '@' in word or ':' in word:
            match = punctuation_re.match(word)
        if match:
            lead, middle, trail = match.groups()
            # Make URL we want to point to.
            url = None
            if middle.startswith('http://') or middle.startswith('https://'):
                url = middle
            elif middle.startswith('www.') or ('@' not in middle and \
                    middle and middle[0] in string.ascii_letters + string.digits and \
                    (middle.endswith('.org') or middle.endswith('.net') or middle.endswith('.com'))):
                url = 'http://%s' % middle
            elif '@' in middle and not ':' in middle and simple_email_re.match(middle):
                url = 'mailto:%s' % middle
                nofollow_attr = ''
            # Make link.
            if url:
                trimmed = trim_url(middle)
                if autoescape and not safe_input:
                    lead, trail = escape(lead), escape(trail)
                    url, trimmed = escape(url), escape(trimmed)
                middle = '<a href="%s"%s>%s</a>' % (url, nofollow_attr, trimmed)
                words[i] = mark_safe('%s%s%s' % (lead, middle, trail))
            else:
                if safe_input:
                    words[i] = mark_safe(word)
                elif autoescape:
                    words[i] = escape(word)
        elif safe_input:
            words[i] = mark_safe(word)
        elif autoescape:
            words[i] = escape(word)
    return mark_safe(''.join(words))
开发者ID:AOAmara,项目名称:living-galapagos,代码行数:56,代码来源:rest_framework.py


示例6: metadata

 def metadata(self):
     metadata = SortedDict()
     metadata["type"] = self.type_label
     metadata["required"] = getattr(self, "required", False)
     optional_attrs = ["read_only", "label", "help_text", "min_length", "max_length"]
     for attr in optional_attrs:
         value = getattr(self, attr, None)
         if value is not None and value != "":
             metadata[attr] = force_text(value, strings_only=True)
     return metadata
开发者ID:sunliwen,项目名称:django-rest-framework,代码行数:10,代码来源:fields.py


示例7: force_text_recursive

def force_text_recursive(data):
    if isinstance(data, list):
        return [
            force_text_recursive(item) for item in data
        ]
    elif isinstance(data, dict):
        return dict([
            (key, force_text_recursive(value))
            for key, value in data.items()
        ])
    return force_text(data)
开发者ID:NetSach,项目名称:django-rest-framework,代码行数:11,代码来源:exceptions.py


示例8: strip_multiple_choice_msg

def strip_multiple_choice_msg(help_text):
    """
    Remove the 'Hold down "control" ...' message that is Django enforces in
    select multiple fields on ModelForms.  (Required for 1.5 and earlier)

    See https://code.djangoproject.com/ticket/9321
    """
    multiple_choice_msg = _(' Hold down "Control", or "Command" on a Mac, to select more than one.')
    multiple_choice_msg = force_text(multiple_choice_msg)

    return help_text.replace(multiple_choice_msg, '')
开发者ID:danra,项目名称:django-rest-framework,代码行数:11,代码来源:fields.py


示例9: metadata

 def metadata(self):
     metadata = SortedDict()
     metadata['type'] = self.type_label
     metadata['required'] = getattr(self, 'required', False)
     optional_attrs = ['read_only', 'label', 'help_text',
                       'min_length', 'max_length']
     for attr in optional_attrs:
         value = getattr(self, attr, None)
         if value is not None and value != '':
             metadata[attr] = force_text(value, strings_only=True)
     return metadata
开发者ID:danra,项目名称:django-rest-framework,代码行数:11,代码来源:fields.py


示例10: _force_text_recursive

def _force_text_recursive(data):
    """
    Descend into a nested data structure, forcing any
    lazy translation strings into plain text.
    """
    if isinstance(data, list):
        return [
            _force_text_recursive(item) for item in data
        ]
    elif isinstance(data, dict):
        return dict([
            (key, _force_text_recursive(value))
            for key, value in data.items()
        ])
    return force_text(data)
开发者ID:Prabhakarv,项目名称:AtrionTemplates,代码行数:15,代码来源:exceptions.py


示例11: get_field_info

    def get_field_info(self, field):
        """
        Given an instance of a serializer field, return a dictionary
        of metadata about it.
        """
        field_info = OrderedDict()
        field_info['type'] = self.label_lookup[field]
        field_info['required'] = getattr(field, 'required', False)

        for attr in ['read_only', 'label', 'help_text', 'min_length', 'max_length']:
            value = getattr(field, attr, None)
            if value is not None and value != '':
                field_info[attr] = force_text(value, strings_only=True)

        if hasattr(field, 'choices'):
            field_info['choices'] = [
                {
                    'value': choice_value,
                    'display_name': force_text(choice_name, strings_only=True)
                }
                for choice_value, choice_name in field.choices.items()
            ]

        return field_info
开发者ID:NetSach,项目名称:django-rest-framework,代码行数:24,代码来源:metadata.py


示例12: get_filename

    def get_filename(self, stream, media_type, parser_context):
        """
        Detects the uploaded file name. First searches a 'filename' url kwarg.
        Then tries to parse Content-Disposition header.
        """
        try:
            return parser_context['kwargs']['filename']
        except KeyError:
            pass

        try:
            meta = parser_context['request'].META
            disposition = parse_header(meta['HTTP_CONTENT_DISPOSITION'].encode('utf-8'))
            return force_text(disposition[1]['filename'])
        except (AttributeError, KeyError):
            pass
开发者ID:9gix,项目名称:django-rest-framework,代码行数:16,代码来源:parsers.py


示例13: dedent

def dedent(content):
    """
    Remove leading indent from a block of text.
    Used when generating descriptions from docstrings.

    Note that python's `textwrap.dedent` doesn't quite cut it,
    as it fails to dedent multiline docstrings that include
    unindented text on the initial line.
    """
    content = force_text(content)
    whitespace_counts = [len(line) - len(line.lstrip(" ")) for line in content.splitlines()[1:] if line.lstrip()]

    # unindent the content if needed
    if whitespace_counts:
        whitespace_pattern = "^" + (" " * min(whitespace_counts))
        content = re.sub(re.compile(whitespace_pattern, re.MULTILINE), "", content)

    return content.strip()
开发者ID:flaki,项目名称:remo,代码行数:18,代码来源:formatting.py


示例14: to_native

    def to_native(self, value):
        """
        Converts the field's value into it's simple representation.
        """
        if is_simple_callable(value):
            value = value()

        if is_protected_type(value):
            return value
        elif is_non_str_iterable(value) and not isinstance(value, (dict, six.string_types)):
            return [self.to_native(item) for item in value]
        elif isinstance(value, dict):
            # Make sure we preserve field ordering, if it exists
            ret = SortedDict()
            for key, val in value.items():
                ret[key] = self.to_native(val)
            return ret
        return force_text(value)
开发者ID:sunliwen,项目名称:django-rest-framework,代码行数:18,代码来源:fields.py


示例15: smart_repr

def smart_repr(value):
    if isinstance(value, models.Manager):
        return manager_repr(value)

    if isinstance(value, Promise) and value._delegate_text:
        value = force_text(value)

    value = repr(value)

    # Representations like u'help text'
    # should simply be presented as 'help text'
    if value.startswith("u'") and value.endswith("'"):
        return value[1:]

    # Representations like
    # <django.core.validators.RegexValidator object at 0x1047af050>
    # Should be presented as
    # <django.core.validators.RegexValidator object>
    value = re.sub(' at 0x[0-9a-f]{4,32}>', '>', value)

    return value
开发者ID:TsinghuaCloud,项目名称:TsinghuaCloud,代码行数:21,代码来源:representation.py


示例16: default

 def default(self, obj):
     # For Date Time string spec, see ECMA 262
     # http://ecma-international.org/ecma-262/5.1/#sec-15.9.1.15
     if isinstance(obj, Promise):
         return force_text(obj)
     elif isinstance(obj, datetime.datetime):
         representation = obj.isoformat()
         if obj.microsecond:
             representation = representation[:23] + representation[26:]
         if representation.endswith('+00:00'):
             representation = representation[:-6] + 'Z'
         return representation
     elif isinstance(obj, datetime.date):
         return obj.isoformat()
     elif isinstance(obj, datetime.time):
         if timezone and timezone.is_aware(obj):
             raise ValueError("JSON can't represent timezone-aware times.")
         representation = obj.isoformat()
         if obj.microsecond:
             representation = representation[:12]
         return representation
     elif isinstance(obj, datetime.timedelta):
         return six.text_type(obj.total_seconds())
     elif isinstance(obj, decimal.Decimal):
         # Serializers will coerce decimals to strings by default.
         return float(obj)
     elif isinstance(obj, QuerySet):
         return tuple(obj)
     elif hasattr(obj, 'tolist'):
         # Numpy arrays and array scalars.
         return obj.tolist()
     elif hasattr(obj, '__getitem__'):
         try:
             return dict(obj)
         except:
             pass
     elif hasattr(obj, '__iter__'):
         return tuple(item for item in obj)
     return super(JSONEncoder, self).default(obj)
开发者ID:AlexanderChou,项目名称:TsinghuaCloudInt,代码行数:39,代码来源:encoders.py


示例17: urlize_quoted_links

def urlize_quoted_links(text, trim_url_limit=None, nofollow=True, autoescape=True):
    """
    Converts any URLs in text into clickable links.

    Works on http://, https://, www. links, and also on links ending in one of
    the original seven gTLDs (.com, .edu, .gov, .int, .mil, .net, and .org).
    Links can have trailing punctuation (periods, commas, close-parens) and
    leading punctuation (opening parens) and it'll still do the right thing.

    If trim_url_limit is not None, the URLs in link text longer than this limit
    will truncated to trim_url_limit-3 characters and appended with an elipsis.

    If nofollow is True, the URLs in link text will get a rel="nofollow"
    attribute.

    If autoescape is True, the link text and URLs will get autoescaped.
    """
    trim_url = lambda x, limit=trim_url_limit: limit is not None and (len(x) > limit and ('%s...' % x[:max(0, limit - 3)])) or x
    safe_input = isinstance(text, SafeData)
    words = word_split_re.split(force_text(text))
    for i, word in enumerate(words):
        if '.' in word or '@' in word or ':' in word:
            # Deal with punctuation.
            lead, middle, trail = '', word, ''
            for punctuation in TRAILING_PUNCTUATION:
                if middle.endswith(punctuation):
                    middle = middle[:-len(punctuation)]
                    trail = punctuation + trail
            for opening, closing in WRAPPING_PUNCTUATION:
                if middle.startswith(opening):
                    middle = middle[len(opening):]
                    lead = lead + opening
                # Keep parentheses at the end only if they're balanced.
                if (
                    middle.endswith(closing)
                    and middle.count(closing) == middle.count(opening) + 1
                ):
                    middle = middle[:-len(closing)]
                    trail = closing + trail

            # Make URL we want to point to.
            url = None
            nofollow_attr = ' rel="nofollow"' if nofollow else ''
            if simple_url_re.match(middle):
                url = smart_urlquote_wrapper(middle)
            elif simple_url_2_re.match(middle):
                url = smart_urlquote_wrapper('http://%s' % middle)
            elif ':' not in middle and simple_email_re.match(middle):
                local, domain = middle.rsplit('@', 1)
                try:
                    domain = domain.encode('idna').decode('ascii')
                except UnicodeError:
                    continue
                url = 'mailto:%[email protected]%s' % (local, domain)
                nofollow_attr = ''

            # Make link.
            if url:
                trimmed = trim_url(middle)
                if autoescape and not safe_input:
                    lead, trail = escape(lead), escape(trail)
                    url, trimmed = escape(url), escape(trimmed)
                middle = '<a href="%s"%s>%s</a>' % (url, nofollow_attr, trimmed)
                words[i] = mark_safe('%s%s%s' % (lead, middle, trail))
            else:
                if safe_input:
                    words[i] = mark_safe(word)
                elif autoescape:
                    words[i] = escape(word)
        elif safe_input:
            words[i] = mark_safe(word)
        elif autoescape:
            words[i] = escape(word)
    return ''.join(words)
开发者ID:NetSach,项目名称:django-rest-framework,代码行数:74,代码来源:rest_framework.py


示例18: as_form_field

 def as_form_field(self):
     return BoundField(self._field, force_text(self.value), self.errors, self._prefix)
开发者ID:RockHoward,项目名称:django-rest-framework,代码行数:2,代码来源:serializer_helpers.py



注:本文中的rest_framework.compat.force_text函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python compat.get_concrete_model函数代码示例发布时间:2022-05-27
下一篇:
Python compat.apply_markdown函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap