Ejemplo n.º 1
0
    def __init__(self, message=None, serialized=None):
        """
        Конструктор.

        Может быть передано либо сериализованное представление сообщения (C{serialized}), либо
        исходное сообщение (C{message}).

        @param message: исходное сообщение
        @type message: L{IMessage}
        @param serialized: сериализованное представление сообщения
        @type serialized: C{dict}
        """

        if serialized is not None:
            assert message is None
            self.serialized = serialized
        else:
            assert serialized is None
            assert IMessage.providedBy(message)

            self.serialized = {}
            for attribute in message:
                self.serialized[attribute.domain().name()] = attribute.serialize()
Ejemplo n.º 2
0
    def __init__(self, when, message, tags=None, id=None):
        """
        Конструктор.

        @param when: дата/время записи в логе, UTC
        @type when: C{int}
        @param message: само сообщение
        @type message: L{IMessage} или L{ITaggedMessage} или L{TransitMessage}
        @param tags: тэги, привзяанные к сообщению
        @type tags: C{list(str)}
        """
        if when is None:
            when = time()
        self.when = when
        if tags is None:
            tags = []
        self.tags = tags
        if IMessage.providedBy(message):
            if ITaggedMessage.providedBy(message):
                self.tags.extend(message.getTags())
            message = TransitMessage(message=message)
        self.message = message
        self.id = id