Ejemplo n.º 1
0
    def save_date(self, feed, date: pendulum.DateTime):
        """
        Save the date for the current event.
        """
        # just in case someone didn't follow the type hints
        if isinstance(date, datetime.datetime):
            date = pendulum.from_timestamp(date.timestamp())

        datafile = os.path.join(self.basepath, f'last.{feed}.dat')
        with open(datafile, 'w') as f:
            f.write(str(date.in_tz('UTC')))
Ejemplo n.º 2
0
def format_fn_datetime(raw_value: pendulum.DateTime, format_str: str,
                       now_dt: pendulum.DateTime) -> str:
    """

    :param raw_value:
    :param format_str: https://pendulum.eustace.io/docs/#formatter
    :param now_dt:
    :return:
    """
    raw_value_tz = raw_value.in_tz('local')
    return raw_value_tz.format(format_str) if format_str else str(raw_value_tz)
Ejemplo n.º 3
0
def format_datetime_fn(raw_value: pendulum.DateTime, format_str: str) -> str:
    raw_value_tz = raw_value.in_tz('Europe/Paris')
    return raw_value_tz.format(format_str) if format_str else str(raw_value_tz)
Ejemplo n.º 4
0
def in_tz(datetime: pendulum.DateTime, timezone: str) -> pendulum.DateTime:
    """Convert the given datetime to a different timezone."""
    return datetime.in_tz(timezone)