Source code for ophelia.util

# Copyright (c) 2007 Thomas Lotze
# See also LICENSE.txt

import locale
import time
import datetime


[docs]class Namespace(dict): """Collection of named variables, accessible both as attributes and mapping items. """ def __init__(self, *args, **kwargs): self.__dict__ = self super(Namespace, self).__init__(*args, **kwargs)
[docs]def strftime(format, t=None): """Similar to time.strftime, but returns unicode. Decodes the time representation returned by time.strftime according to the character encoding as determined by the current locale. format: str or unicode, a time format string t: optional, if given: tuple, datetime.datetime, or datetime.time If t is omitted, the current time is used. If t is a tuple, it must be a valid time tuple as accepted by time.strftime(). returns unicode """ encoding = locale.nl_langinfo(locale.CODESET) format = format.encode(encoding) if t is None: time_str = time.strftime(format) else: if isinstance(t, (datetime.datetime, datetime.date)): t = t.timetuple() time_str = time.strftime(format, t) return time_str.decode(encoding)