Skip to content

Commit 7150f8a

Browse files
committed
restore caching
1 parent f8d10d7 commit 7150f8a

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

pandas/tseries/offsets.py

+20-7
Original file line numberDiff line numberDiff line change
@@ -185,9 +185,6 @@ def __add__(date):
185185
Timestamp('2017-03-01 09:10:11')
186186
"""
187187

188-
# FIXME: restore these as cache_readonly
189-
# _params = cache_readonly(BaseOffset._params.__get__)
190-
# freqstr = cache_readonly(BaseOffset.freqstr.__get__)
191188
_attributes = frozenset(["n", "normalize"] + list(liboffsets.relativedelta_kwds))
192189
_adjust_dst = False
193190

@@ -296,19 +293,35 @@ def is_on_offset(self, dt):
296293
# TODO, see #1395
297294
return True
298295

296+
@cache_readonly
297+
def _params(self):
298+
# TODO: see if we can just write cache_readonly(BaseOffset._params.__get__)
299+
return BaseOffset._params.__get__(self)
299300

300-
class SingleConstructorOffset(BaseOffset):
301-
# FIXME: restore these as cache_readonly
302-
# _params = cache_readonly(BaseOffset._params.__get__)
303-
# freqstr = cache_readonly(BaseOffset.freqstr.__get__)
301+
@cache_readonly
302+
def freqstr(self):
303+
# TODO: see if we can just write cache_readonly(BaseOffset.freqstr.__get__)
304+
return BaseOffset.freqstr.__get__(self)
304305

306+
307+
class SingleConstructorOffset(BaseOffset):
305308
@classmethod
306309
def _from_name(cls, suffix=None):
307310
# default _from_name calls cls with no args
308311
if suffix:
309312
raise ValueError(f"Bad freq suffix {suffix}")
310313
return cls()
311314

315+
@cache_readonly
316+
def _params(self):
317+
# TODO: see if we can just write cache_readonly(BaseOffset._params.__get__)
318+
return BaseOffset._params.__get__(self)
319+
320+
@cache_readonly
321+
def freqstr(self):
322+
# TODO: see if we can just write cache_readonly(BaseOffset.freqstr.__get__)
323+
return BaseOffset.freqstr.__get__(self)
324+
312325

313326
class BusinessDay(BusinessMixin, SingleConstructorOffset):
314327
"""

0 commit comments

Comments
 (0)