diff options
author | Ben Sima <ben@bsima.me> | 2018-11-28 14:14:05 -0800 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2018-11-28 14:14:05 -0800 |
commit | fdca2d17474785a058df43f9d9d418c14fbd0a7a (patch) | |
tree | 31e63bee49988ec088a045b794efec93a7cfe27d /progress.py | |
parent | 966b74e287d673954f8ce31ae2424ed0feb95ebb (diff) |
Simplify object
Diffstat (limited to 'progress.py')
-rwxr-xr-x | progress.py | 36 |
1 files changed, 12 insertions, 24 deletions
diff --git a/progress.py b/progress.py index 6834657..411f605 100755 --- a/progress.py +++ b/progress.py @@ -5,17 +5,17 @@ from datetime import datetime, timedelta from calendar import * class Progress(object): - dura = { - 'day': timedelta(hours=8), - 'week': timedelta(days=7), - 'month': timedelta(days=30), - 'year': timedelta(days=365), - } def __init__(self): self.now = datetime.now() weekdays_left = timedelta(7 - self.now.isoweekday()) month_max = max(list(Calendar().itermonthdays(self.now.year, self.now.month))) + self.dura = { + 'day': timedelta(hours=8), + 'week': timedelta(days=7), + 'month': timedelta(days=month_max), + 'year': timedelta(days=365), + } self.end = { 'year': datetime(self.now.year+1, 1, 1), 'day': datetime(self.now.year, self.now.month, self.now.day, hour=16), @@ -23,27 +23,15 @@ class Progress(object): 'month': datetime(self.now.year, self.now.month, month_max), } - def _calc(self, key): + def calc(self, key): return 1 - ((self.end[key] - self.now) / self.dura[key]) - def workday(self): - return self._calc('day') - - def week(self): - return self._calc('week') - - def month(self): - return self._calc('month') - - def year(self): - return self._calc('year') - def __str__(self): - return "d: {day:.1%} | w: {week:.1%} | m: {month:.1%} | y: {year:.1%}".format( - day=self.workday(), - week=self.week(), - month=self.month(), - year=self.year() + return "d: {d:.1%} | w: {w:.1%} | m: {m:.1%} | y: {y:.1%}".format( + d=self.calc('day'), + w=self.calc('week'), + m=self.calc('month'), + y=self.calc('year'), ) if __name__ == '__main__': |