$22 GRAYBYTE WORDPRESS FILE MANAGER $71

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.15.130 | ADMIN IP 216.73.216.174
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/

HOME
Current File : /opt/hc_python/lib/python3.12/site-packages/sentry_sdk//attachments.py
import os
import mimetypes

from sentry_sdk.envelope import Item, PayloadRef

from typing import TYPE_CHECKING

if TYPE_CHECKING:
    from typing import Optional, Union, Callable


class Attachment:
    """Additional files/data to send along with an event.

    This class stores attachments that can be sent along with an event. Attachments are files or other data, e.g.
    config or log files, that are relevant to an event. Attachments are set on the ``Scope``, and are sent along with
    all non-transaction events (or all events including transactions if ``add_to_transactions`` is ``True``) that are
    captured within the ``Scope``.

    To add an attachment to a ``Scope``, use :py:meth:`sentry_sdk.Scope.add_attachment`. The parameters for
    ``add_attachment`` are the same as the parameters for this class's constructor.

    :param bytes: Raw bytes of the attachment, or a function that returns the raw bytes. Must be provided unless
                  ``path`` is provided.
    :param filename: The filename of the attachment. Must be provided unless ``path`` is provided.
    :param path: Path to a file to attach. Must be provided unless ``bytes`` is provided.
    :param content_type: The content type of the attachment. If not provided, it will be guessed from the ``filename``
                         parameter, if available, or the ``path`` parameter if ``filename`` is ``None``.
    :param add_to_transactions: Whether to add this attachment to transactions. Defaults to ``False``.
    """

    def __init__(
        self,
        bytes=None,  # type: Union[None, bytes, Callable[[], bytes]]
        filename=None,  # type: Optional[str]
        path=None,  # type: Optional[str]
        content_type=None,  # type: Optional[str]
        add_to_transactions=False,  # type: bool
    ):
        # type: (...) -> None
        if bytes is None and path is None:
            raise TypeError("path or raw bytes required for attachment")
        if filename is None and path is not None:
            filename = os.path.basename(path)
        if filename is None:
            raise TypeError("filename is required for attachment")
        if content_type is None:
            content_type = mimetypes.guess_type(filename)[0]
        self.bytes = bytes
        self.filename = filename
        self.path = path
        self.content_type = content_type
        self.add_to_transactions = add_to_transactions

    def to_envelope_item(self):
        # type: () -> Item
        """Returns an envelope item for this attachment."""
        payload = None  # type: Union[None, PayloadRef, bytes]
        if self.bytes is not None:
            if callable(self.bytes):
                payload = self.bytes()
            else:
                payload = self.bytes
        else:
            payload = PayloadRef(path=self.path)
        return Item(
            payload=payload,
            type="attachment",
            content_type=self.content_type,
            filename=self.filename,
        )

    def __repr__(self):
        # type: () -> str
        return "<Attachment %r>" % (self.filename,)


Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
3 Dec 2025 9.30 AM
root / root
0755
__pycache__
--
3 Dec 2025 9.30 AM
root / root
0755
ai
--
3 Dec 2025 9.30 AM
root / root
0755
crons
--
3 Dec 2025 9.30 AM
root / root
0755
integrations
--
3 Dec 2025 9.30 AM
root / root
0755
profiler
--
3 Dec 2025 9.30 AM
root / root
0755
__init__.py
1.377 KB
3 Dec 2025 9.30 AM
root / root
0644
_compat.py
3.043 KB
3 Dec 2025 9.30 AM
root / root
0644
_init_implementation.py
2.499 KB
3 Dec 2025 9.30 AM
root / root
0644
_log_batcher.py
5.371 KB
3 Dec 2025 9.30 AM
root / root
0644
_lru_cache.py
1.2 KB
3 Dec 2025 9.30 AM
root / root
0644
_metrics_batcher.py
4.924 KB
3 Dec 2025 9.30 AM
root / root
0644
_queue.py
10.986 KB
3 Dec 2025 9.30 AM
root / root
0644
_types.py
10.178 KB
3 Dec 2025 9.30 AM
root / root
0644
_werkzeug.py
3.646 KB
3 Dec 2025 9.30 AM
root / root
0644
api.py
14.924 KB
3 Dec 2025 9.30 AM
root / root
0644
attachments.py
3.036 KB
3 Dec 2025 9.30 AM
root / root
0644
client.py
41.112 KB
3 Dec 2025 9.30 AM
root / root
0644
consts.py
52.474 KB
3 Dec 2025 9.30 AM
root / root
0644
debug.py
0.995 KB
3 Dec 2025 9.30 AM
root / root
0644
envelope.py
10.228 KB
3 Dec 2025 9.30 AM
root / root
0644
feature_flags.py
2.18 KB
3 Dec 2025 9.30 AM
root / root
0644
hub.py
25.145 KB
3 Dec 2025 9.30 AM
root / root
0644
logger.py
2.731 KB
3 Dec 2025 9.30 AM
root / root
0644
metrics.py
1.996 KB
3 Dec 2025 9.30 AM
root / root
0644
monitor.py
3.554 KB
3 Dec 2025 9.30 AM
root / root
0644
py.typed
0 KB
3 Dec 2025 9.30 AM
root / root
0644
scope.py
63.887 KB
3 Dec 2025 9.30 AM
root / root
0644
scrubber.py
5.922 KB
3 Dec 2025 9.30 AM
root / root
0644
serializer.py
13.217 KB
3 Dec 2025 9.30 AM
root / root
0644
session.py
5.458 KB
3 Dec 2025 9.30 AM
root / root
0644
sessions.py
8.957 KB
3 Dec 2025 9.30 AM
root / root
0644
spotlight.py
8.475 KB
3 Dec 2025 9.30 AM
root / root
0644
tracing.py
50.534 KB
3 Dec 2025 9.30 AM
root / root
0644
tracing_utils.py
39.59 KB
3 Dec 2025 9.30 AM
root / root
0644
transport.py
31.131 KB
3 Dec 2025 9.30 AM
root / root
0644
types.py
1.239 KB
3 Dec 2025 9.30 AM
root / root
0644
utils.py
62.402 KB
3 Dec 2025 9.30 AM
root / root
0644
worker.py
4.359 KB
3 Dec 2025 9.30 AM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF