Source code for plaso.storage.time_range

# -*- coding: utf-8 -*-
"""Storage time range objects."""


[docs] class TimeRange(object): """Date and time range. The timestamp are integers containing the number of microseconds since January 1, 1970, 00:00:00 UTC. Attributes: duration (int): duration of the range in microseconds. end_timestamp (int): timestamp that marks the end of the range. start_timestamp (int): timestamp that marks the start of the range. """
[docs] def __init__(self, start_timestamp, end_timestamp): """Initializes a date and time range. The timestamp are integers containing the number of microseconds since January 1, 1970, 00:00:00 UTC. Args: start_timestamp (int): timestamp that marks the start of the range. end_timestamp (int): timestamp that marks the end of the range. Raises: ValueError: If the time range is badly formed. """ if start_timestamp is None or end_timestamp is None: raise ValueError( 'Time range must have either a start and an end timestamp.') if start_timestamp > end_timestamp: raise ValueError( 'Invalid start must be earlier than end timestamp.') super(TimeRange, self).__init__() self.duration = end_timestamp - start_timestamp self.end_timestamp = end_timestamp self.start_timestamp = start_timestamp