summaryrefslogtreecommitdiff
path: root/progress.py
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2018-11-28 14:14:05 -0800
committerBen Sima <ben@bsima.me>2018-11-28 14:14:05 -0800
commitfdca2d17474785a058df43f9d9d418c14fbd0a7a (patch)
tree31e63bee49988ec088a045b794efec93a7cfe27d /progress.py
parent966b74e287d673954f8ce31ae2424ed0feb95ebb (diff)
Simplify object
Diffstat (limited to 'progress.py')
-rwxr-xr-xprogress.py36
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__':