@apply_wraps
    def rollback(self, dt):
        if not self.onOffset(dt):
            businesshours = self._get_business_hours_by_sec()
            if self.n >= 0:
                dt = self._prev_opening_time(
                    dt) + timedelta(seconds=businesshours)
            else:
                dt = self._next_opening_time(
                    dt) + timedelta(seconds=businesshours)
        return dt
Extract the year of the election from a standardized filename
dataset/ETHPy150Open pydata/pandas/pandas/tseries/offsets.py/BusinessHourMixin.rollback--crossover with--dataset/ETHPy150Open openelections/openelections-core/openelex/base/datasource.py/BaseDatasource._filename_year