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

Python strings.truncatechars函数代码示例

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

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



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

示例1: validate_data

def validate_data(project, data, client=None):
    ensure_valid_project_id(project, data, client=client)

    if not data.get('message'):
        data['message'] = '<no message value>'
    elif not isinstance(data['message'], basestring):
        raise APIError('Invalid value for message')
    elif len(data['message']) > MAX_MESSAGE_LENGTH:
        logger.info('Truncated value for message due to length (%d chars)', len(data['message']),
            **client_metadata(client))
        data['message'] = truncatechars(data['message'], MAX_MESSAGE_LENGTH)

    if data.get('culprit') and len(data['culprit']) > MAX_CULPRIT_LENGTH:
        logger.info('Truncated value for culprit due to length (%d chars)', len(data['culprit']),
            **client_metadata(client))
        data['culprit'] = truncatechars(data['culprit'], MAX_CULPRIT_LENGTH)

    if not data.get('event_id'):
        data['event_id'] = uuid.uuid4().hex
    if len(data['event_id']) > 32:
        logger.info('Discarded value for event_id due to length (%d chars)', len(data['event_id']),
            **client_metadata(client))
        data['event_id'] = uuid.uuid4().hex

    if 'timestamp' in data:
        try:
            process_data_timestamp(data)
        except InvalidTimestamp, e:
            # Log the error, remove the timestamp, and continue
            logger.info('Discarded invalid value for timestamp: %r', data['timestamp'],
                **client_metadata(client, exception=e))
            del data['timestamp']
开发者ID:755,项目名称:sentry,代码行数:32,代码来源:coreapi.py


示例2: message_short

 def message_short(self):
     message = strip(self.message)
     if not message:
         message = '<unlabeled message>'
     else:
         message = truncatechars(message.splitlines()[0], 100)
     return message
开发者ID:JJediny,项目名称:sentry,代码行数:7,代码来源:group.py


示例3: generate_culprit

def generate_culprit(data):
    platform = data.get('platform')
    exceptions = get_path(data, 'exception', 'values', filter=True)
    if exceptions:
        # Synthetic events no longer get a culprit
        last_exception = get_path(exceptions, -1)
        if get_path(last_exception, 'mechanism', 'synthetic'):
            return ''

        stacktraces = [e['stacktrace'] for e in exceptions if get_path(e, 'stacktrace', 'frames')]
    else:
        stacktrace = data.get('stacktrace')
        if stacktrace and stacktrace.get('frames'):
            stacktraces = [stacktrace]
        else:
            stacktraces = None

    culprit = None

    if not culprit and stacktraces:
        culprit = get_stacktrace_culprit(get_path(stacktraces, -1), platform=platform)

    if not culprit and data.get('request'):
        culprit = get_path(data, 'request', 'url')

    return truncatechars(culprit or '', MAX_CULPRIT_LENGTH)
开发者ID:getsentry,项目名称:sentry,代码行数:26,代码来源:culprit.py


示例4: to_string

 def to_string(self, metadata):
     if not metadata['value']:
         return metadata['type']
     return u'{}: {}'.format(
         metadata['type'],
         truncatechars(metadata['value'].splitlines()[0], 100),
     )
开发者ID:NuttasitBoonwat,项目名称:sentry,代码行数:7,代码来源:error.py


示例5: error

 def error(self):
     message = strip(self.message)
     if message:
         message = truncatechars(message, 100)
     else:
         message = '<unlabeled message>'
     return message
开发者ID:gaojiashenghim,项目名称:sentry,代码行数:7,代码来源:models.py


示例6: error

 def error(self):
     message = strip(self.get_legacy_message())
     if not message:
         message = '<unlabeled message>'
     else:
         message = truncatechars(message.splitlines()[0], 100)
     return message
开发者ID:Akashguharoy,项目名称:sentry,代码行数:7,代码来源:event.py


示例7: test_truncated

    def test_truncated(self):
        url = truncatechars('http://example.com', 3)
        with pytest.raises(CannotFetchSource) as exc:
            fetch_file(url)

        assert exc.value.data['type'] == EventError.JS_MISSING_SOURCE
        assert exc.value.data['url'] == url
开发者ID:pythorn,项目名称:sentry,代码行数:7,代码来源:test_processor.py


示例8: generate_culprit

def generate_culprit(data, platform=None):
    culprit = ''

    try:
        stacktraces = [
            e['stacktrace'] for e in data['sentry.interfaces.Exception']['values']
            if e.get('stacktrace')
        ]
    except KeyError:
        stacktrace = data.get('sentry.interfaces.Stacktrace')
        if stacktrace:
            stacktraces = [stacktrace]
        else:
            stacktraces = None

    if not stacktraces:
        if 'sentry.interfaces.Http' in data:
            culprit = data['sentry.interfaces.Http'].get('url', '')
    else:
        from sentry.interfaces.stacktrace import Stacktrace
        culprit = Stacktrace.to_python(stacktraces[-1]).get_culprit_string(
            platform=platform,
        )

    return truncatechars(culprit, MAX_CULPRIT_LENGTH)
开发者ID:alshopov,项目名称:sentry,代码行数:25,代码来源:event_manager.py


示例9: message_top

 def message_top(self):
     culprit = strip(self.culprit)
     if culprit:
         return culprit
     message = strip(self.message)
     if not strip(message):
         return '<unlabeled message>'
     return truncatechars(message.splitlines()[0], 100)
开发者ID:gaojiashenghim,项目名称:sentry,代码行数:8,代码来源:models.py


示例10: expose_url

def expose_url(url):
    if url is None:
        return u'<unknown>'
    if url[:5] == 'data:':
        return u'<data url>'
    url = truncatechars(url, MAX_URL_LENGTH)
    if isinstance(url, bytes):
        url = url.decode('utf-8', 'replace')
    return url
开发者ID:bsergean,项目名称:sentry,代码行数:9,代码来源:processor.py


示例11: get_metadata

 def get_metadata(self):
     message = strip(self.data.get('message'))
     if not message:
         title = '<unlabeled event>'
     else:
         title = truncatechars(message.splitlines()[0], 100)
     return {
         'title': title,
     }
开发者ID:280185386,项目名称:sentry,代码行数:9,代码来源:base.py


示例12: validate_data

def validate_data(project, data, client=None):
    ensure_valid_project_id(project, data, client=client)

    if not data.get("message"):
        data["message"] = "<no message value>"
    elif not isinstance(data["message"], basestring):
        raise APIError("Invalid value for message")
    elif len(data["message"]) > settings.SENTRY_MAX_MESSAGE_LENGTH:
        logger.info(
            "Truncated value for message due to length (%d chars)",
            len(data["message"]),
            **client_metadata(client, project)
        )
        data["message"] = truncatechars(data["message"], settings.SENTRY_MAX_MESSAGE_LENGTH)

    if data.get("culprit") and len(data["culprit"]) > MAX_CULPRIT_LENGTH:
        logger.info(
            "Truncated value for culprit due to length (%d chars)",
            len(data["culprit"]),
            **client_metadata(client, project)
        )
        data["culprit"] = truncatechars(data["culprit"], MAX_CULPRIT_LENGTH)

    if not data.get("event_id"):
        data["event_id"] = uuid.uuid4().hex
    if len(data["event_id"]) > 32:
        logger.info(
            "Discarded value for event_id due to length (%d chars)",
            len(data["event_id"]),
            **client_metadata(client, project)
        )
        data["event_id"] = uuid.uuid4().hex

    if "timestamp" in data:
        try:
            process_data_timestamp(data)
        except InvalidTimestamp, e:
            # Log the error, remove the timestamp, and continue
            logger.info(
                "Discarded invalid value for timestamp: %r",
                data["timestamp"],
                **client_metadata(client, project, exception=e)
            )
            del data["timestamp"]
开发者ID:BlaShadow,项目名称:sentry,代码行数:44,代码来源:coreapi.py


示例13: trim

def trim(
    value,
    max_size=settings.SENTRY_MAX_VARIABLE_SIZE,
    max_depth=6,
    object_hook=None,
    _depth=0,
    _size=0,
    **kwargs
):
    """
    Truncates a value to ```MAX_VARIABLE_SIZE```.

    The method of truncation depends on the type of value.
    """
    options = {
        'max_depth': max_depth,
        'max_size': max_size,
        'object_hook': object_hook,
        '_depth': _depth + 1,
    }

    if _depth > max_depth:
        if not isinstance(value, six.string_types):
            value = json.dumps(value)
        return trim(value, _size=_size, max_size=max_size)

    elif isinstance(value, dict):
        result = {}
        _size += 2
        for k in sorted(value.keys()):
            v = value[k]
            trim_v = trim(v, _size=_size, **options)
            result[k] = trim_v
            _size += len(force_text(trim_v)) + 1
            if _size >= max_size:
                break

    elif isinstance(value, (list, tuple)):
        result = []
        _size += 2
        for v in value:
            trim_v = trim(v, _size=_size, **options)
            result.append(trim_v)
            _size += len(force_text(trim_v))
            if _size >= max_size:
                break

    elif isinstance(value, six.string_types):
        result = truncatechars(value, max_size - _size)

    else:
        result = value

    if object_hook is None:
        return result
    return object_hook(result)
开发者ID:alexandrul,项目名称:sentry,代码行数:56,代码来源:safe.py


示例14: fix_culprit

    def fix_culprit(self, data, stacktraces):
        # This is a bit weird, since the original culprit we get
        # will be wrong, so we want to touch it up after we've processed
        # a stack trace.

        # In this case, we have a list of all stacktraces as a tuple
        # (stacktrace as dict, stacktrace class)
        # So we need to take the [1] index to get the Stacktrace class,
        # then extract the culprit string from that.
        data["culprit"] = truncatechars(stacktraces[-1][1].get_culprit_string(), MAX_CULPRIT_LENGTH)
开发者ID:jasonbeverage,项目名称:sentry,代码行数:10,代码来源:processor.py


示例15: get_title

 def get_title(self, metadata):
     ty = metadata.get('type')
     if ty is None:
         return metadata.get('function') or '<unknown>'
     if not metadata.get('value'):
         return ty
     return u'{}: {}'.format(
         ty,
         truncatechars(metadata['value'].splitlines()[0], 100),
     )
开发者ID:getsentry,项目名称:sentry,代码行数:10,代码来源:error.py


示例16: get_metadata

    def get_metadata(self):
        message = strip(get_path(self.data, 'logentry', 'formatted') or
                        get_path(self.data, 'logentry', 'message'))

        if message:
            title = truncatechars(message.splitlines()[0], 100)
        else:
            title = '<unlabeled event>'

        return {
            'title': title,
        }
开发者ID:Kayle009,项目名称:sentry,代码行数:12,代码来源:base.py


示例17: save

 def save(self, *args, **kwargs):
     if not self.last_seen:
         self.last_seen = timezone.now()
     if not self.first_seen:
         self.first_seen = self.last_seen
     if not self.active_at:
         self.active_at = self.first_seen
     # We limit what we store for the message body
     self.message = strip(self.message)
     if self.message:
         self.message = truncatechars(self.message.splitlines()[0], 255)
     super(Group, self).save(*args, **kwargs)
开发者ID:JJediny,项目名称:sentry,代码行数:12,代码来源:group.py


示例18: get_email_subject

 def get_email_subject(self):
     template = self.project.get_option('mail:subject_template')
     if template:
         template = EventSubjectTemplate(template)
     else:
         template = DEFAULT_SUBJECT_TEMPLATE
     return truncatechars(
         template.safe_substitute(
             EventSubjectTemplateData(self),
         ),
         128,
     ).encode('utf-8')
开发者ID:getsentry,项目名称:sentry,代码行数:12,代码来源:event.py


示例19: get_metadata

 def get_metadata(self):
     # See GH-3248
     message_interface = self.data.get('sentry.interfaces.Message', {
         'message': self.data.get('message', ''),
     })
     message = strip(message_interface.get('formatted', message_interface['message']))
     if not message:
         title = '<unlabeled event>'
     else:
         title = truncatechars(message.splitlines()[0], 100)
     return {
         'title': title,
     }
开发者ID:Akashguharoy,项目名称:sentry,代码行数:13,代码来源:base.py


示例20: trim

def trim(value, max_size=settings.SENTRY_MAX_VARIABLE_SIZE, max_depth=3,
         _depth=0, _size=0, **kwargs):
    """
    Truncates a value to ```MAX_VARIABLE_SIZE```.

    The method of truncation depends on the type of value.
    """
    options = {
        'max_depth': max_depth,
        'max_size': max_size,
        '_depth': _depth + 1,
    }

    if _depth > max_depth:
        return trim(repr(value), _size=_size, max_size=max_size)

    elif isinstance(value, dict):
        result = {}
        _size += 2
        for k, v in value.iteritems():
            trim_v = trim(v, _size=_size, **options)
            result[k] = trim_v
            _size += len(unicode(trim_v)) + 1
            if _size >= max_size:
                break

    elif isinstance(value, (list, tuple)):
        result = []
        _size += 2
        for v in value:
            trim_v = trim(v, _size=_size, **options)
            result.append(trim_v)
            _size += len(unicode(trim_v))
            if _size >= max_size:
                break

    elif isinstance(value, basestring):
        result = truncatechars(value, max_size - _size)

    else:
        result = value

    return result
开发者ID:g761007,项目名称:sentry,代码行数:43,代码来源:safe.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python warnings.warn函数代码示例发布时间:2022-05-27
下一篇:
Python strings.strip函数代码示例发布时间: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