Skip to content
Snippets Groups Projects

Add missing methods to Python Date/Time/Delta objects

Merged Karl-Hermann Wieners requested to merge feature-add-missing-python-methods into master
Files
3
+ 27
1
@@ -59,6 +59,9 @@ class Date(MTime):
def __str__(self):
return libmtime.dateToString(self._my).decode()
def __getattr__(self, name):
return getattr(self._my.contents, name)
class Time(MTime):
def __init__(self, spec):
@@ -74,6 +77,9 @@ class Time(MTime):
def __str__(self):
return libmtime.timeToString(self._my).decode()
def __getattr__(self, name):
return getattr(self._my.contents, name)
class DateTime(MTime):
def __init__(self, spec):
@@ -113,9 +119,21 @@ class DateTime(MTime):
)
return result
def __getattr__(self, name):
try:
return getattr(self._my.contents.date, name)
except AttributeError:
return getattr(self._my.contents.time, name)
def data(self):
return self._my
def items(self):
for name, ctype in self._my.contents.date._fields_:
yield (name, getattr(self._my.contents.date, name))
for name, ctype in self._my.contents.time._fields_:
yield (name, getattr(self._my.contents.time, name))
@property
def date(self):
return Date(
@@ -162,9 +180,17 @@ class TimeDelta(MTime):
)
return result.contents.quotient
def __getattr__(self, name):
return getattr(self._my.contents, name)
def data(self):
return self._my
def items(self):
for name, ctype in self._my.contents._fields_:
yield (name, self._my.contents.__getattribute__(name))
if not name.startswith("_"):
yield (name, getattr(self, name))
@property
def sign(self):
return self._my.contents.sign.decode()
Loading