"""Accounting Period Reports Model.""" class PeriodReports: """Accounting Period Model.""" def __init__(self, period_id, interval, account_type): """Accounting Period Model.""" self.period_id = int(period_id) self._period_ids = [str(period_id)] self.interval = interval self.account_type = account_type if self.is_quarter: self._period_ids = [ str(self.period_id - 2), str(self.period_id - 1), str(self.period_id) ] @property def period_ids(self): """Get period ids as a comma-delimited string.""" if self.is_quarter: return ','.join(self._period_ids) return str(self.period_id) @property def is_quarter(self): """Get boolean is_quarter.""" return self.interval == 'quarter' and self.period_id % 3 == 0 @property def prefix(self): """Get the formatted s3 prefix.""" return ( 'schematized_files/' f'{self.period_ids}_' f'{self.account_type}_' 'all_all_' f'{self.interval}/' )