40 lines
848 B
Python
40 lines
848 B
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
Utility functions
|
|
"""
|
|
from datetime import datetime
|
|
import logging
|
|
from pelican.utils import set_date_tzinfo
|
|
|
|
DEV_LOGGER = logging.getLogger(__name__)
|
|
|
|
|
|
STRING_BOOLS = {
|
|
'yes': True,
|
|
'no': False,
|
|
'true': True,
|
|
'false': False,
|
|
'0': False,
|
|
'1': True,
|
|
'on': True,
|
|
'off': False,
|
|
}
|
|
|
|
|
|
def string_to_bool(string):
|
|
'''
|
|
Convert a string to a bool based
|
|
'''
|
|
return STRING_BOOLS[string.strip().lower()]
|
|
|
|
|
|
def datetime_from_timestamp(timestamp, content):
|
|
"""
|
|
Helper function to add timezone information to datetime,
|
|
so that datetime is comparable to other datetime objects in recent versions
|
|
that now also have timezone information.
|
|
"""
|
|
return set_date_tzinfo(
|
|
datetime.fromtimestamp(timestamp),
|
|
tz_name=content.settings.get('TIMEZONE', None))
|