diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-01-30 08:13:47 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-01-30 08:13:47 +0000 |
commit | 1199780155f666b6806d563a29d093a251664009 (patch) | |
tree | 68716d9c1ee3205f474a04d74d5653eddf94a9f2 /pendulum/mixins/default.py | |
parent | Initial commit. (diff) | |
download | pendulum-1199780155f666b6806d563a29d093a251664009.tar.xz pendulum-1199780155f666b6806d563a29d093a251664009.zip |
Adding upstream version 2.1.2.upstream/2.1.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'pendulum/mixins/default.py')
-rw-r--r-- | pendulum/mixins/default.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/pendulum/mixins/default.py b/pendulum/mixins/default.py new file mode 100644 index 0000000..bfb5912 --- /dev/null +++ b/pendulum/mixins/default.py @@ -0,0 +1,43 @@ +from ..formatting import Formatter
+
+
+_formatter = Formatter()
+
+
+class FormattableMixin(object):
+
+ _formatter = _formatter
+
+ def format(self, fmt, locale=None):
+ """
+ Formats the instance using the given format.
+
+ :param fmt: The format to use
+ :type fmt: str
+
+ :param locale: The locale to use
+ :type locale: str or None
+
+ :rtype: str
+ """
+ return self._formatter.format(self, fmt, locale)
+
+ def for_json(self):
+ """
+ Methods for automatic json serialization by simplejson
+
+ :rtype: str
+ """
+ return str(self)
+
+ def __format__(self, format_spec):
+ if len(format_spec) > 0:
+ if "%" in format_spec:
+ return self.strftime(format_spec)
+
+ return self.format(format_spec)
+
+ return str(self)
+
+ def __str__(self):
+ return self.isoformat()
|