Facebook
From Round Cat, 3 Years ago, written in Python.
Embed
Download Paste or View Raw
Hits: 61
  1. import sys
  2. from backlog import current_sprint
  3. from users import KAJETAN
  4. from timeouts import WORKING_DAY_TIMEOUT
  5. from datetime import datetime
  6. from workflow.task_status import DONE
  7. from kitchen import CoffeeCup
  8.  
  9. class HomeOffice(Office):
  10.     """Describes typical home office"""
  11.  
  12.     def __init__(self):
  13.         """Initialize work from home"""
  14.         self._coffee_cup = CoffeeCup()
  15.         self.turn_on_computer()
  16.         self._start_work_time = datetime.now()
  17.  
  18.     @property
  19.     def coffee_cup(self) -> CoffeeCup:
  20.         if coffee_cup.level = 0:
  21.             self._coffee_cup.refill()
  22.         return self._coffee_cup
  23.  
  24.     def coffee_refill(self) -> None:
  25.         """Make a frash cup of coffee"""
  26.         self._coffee_cup.refill()
  27.  
  28.     def get_working_time(self) -> int:
  29.         """Return how long workday last"""
  30.         return datetime.now() - self._start_work_time
  31.  
  32. class Work():
  33.     """A work related class"""
  34.  
  35.     @staticmethod
  36.     def get_tasks(user: str) -> List[Union[Code, CodeReview, Meeting]]:
  37.         """Gets all the task for particular user in current sprint"""
  38.         return [story.task for story in current_sprint if story.assignee == user]
  39.  
  40.  
  41. if __name__ == '__main__':
  42.    
  43.     office = HomeOffice()
  44.  
  45.     for task in Work.get_tasks(user=KAJETAN):
  46.         while task != DONE:
  47.             if task.last > (WORKING_DAY_TIMEOUT - office.get_working_time()):
  48.                 sys.exit()
  49.             else:
  50.                 office.coffee_cup.drink()
  51.             task.work_on()            
  52.