Changeset d310de3 in flowtimer


Ignore:
Timestamp:
08/25/24 18:27:34 (9 months ago)
Author:
Enrico Schwass <ennoausberlin@…>
Branches:
guix
Children:
01c3cce
Parents:
d7a66ad
Message:

phase_list renamed to phases

Signed-off-by: Enrico Schwass <ennoausberlin@…>

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • flowtimer/RecurringPhaseSequence.py

    rd7a66ad rd310de3  
    1111            if 'title' in d and 'initial_ticks' in d:
    1212                return Phase(d['title'], d['initial_ticks'])
    13             if 'phase_list' in d and 'initial_repetitions' in d:
    14                 return RecurringPhaseSequence(d["title"], d['phase_list'], d['initial_repetitions'])
     13            if 'phases' in d and 'initial_repetitions' in d:
     14                return RecurringPhaseSequence(d["title"], d['phases'], d['initial_repetitions'])
    1515            print("Wrong format")
    1616            return d
     
    2020    def default_json_string(cls):
    2121        return json.dumps({"title": "default",
    22                            "phase_list": [{"title": "Tasking", "initial_ticks": 5},
    23                                           {"title": "Work", "initial_ticks": 45},
    24                                           {"title": "Break", "initial_ticks": 15}],
     22                           "phases": [{"title": "Tasking", "initial_ticks": 5},
     23                                      {"title": "Work", "initial_ticks": 45},
     24                                      {"title": "Break", "initial_ticks": 15}],
    2525                           "initial_repetitions": 3})
    2626
     
    2929        return cls.from_json(cls.default_json_string())
    3030
    31     def __init__(self, title, phase_list, repetitions):
     31    def __init__(self, title, phases, repetitions):
    3232        assert repetitions > 0
    33         assert phase_list is not []
     33        assert phases is not []
    3434        self._title = title
    3535        self.state = "initial"
    36         self.phase_list = phase_list
    37         self.current_phase = phase_list[0]
     36        self.phases = phases
     37        self.current_phase = phases[0]
    3838        self.initial_repetitions = repetitions
    3939        self.passes_left = repetitions
     
    5353
    5454    def current_phase_number(self):
    55         return self.phase_list.index(self.current_phase)
     55        return self.phases.index(self.current_phase)
    5656
    5757    def phases_left_in_pass(self):
     
    5959
    6060    def upcoming_phases_in_pass(self):
    61         if self.current_phase_number() < len(self.phase_list) - 1:
    62             return self.phase_list[self.current_phase_number()+1:]
     61        if self.current_phase_number() < len(self.phases) - 1:
     62            return self.phases[self.current_phase_number()+1:]
    6363        return []
    6464
    6565    @property
    6666    def initial_ticks(self):
    67         return sum([each.initial_ticks for each in self.phase_list])
     67        return sum([each.initial_ticks for each in self.phases])
    6868
    6969    @property
    7070    def ticks_left(self):
    7171        return (
    72             (self.passes_left-1) * sum([each.initial_ticks for each in self.phase_list]) +
     72            (self.passes_left-1) * sum([each.initial_ticks for each in self.phases]) +
    7373            self.current_phase.ticks_left +
    7474            sum([each.ticks_left for each in self.upcoming_phases_in_pass()]))
     
    9999                self.passes_left -= 1
    100100                self.current_phase.reset()
    101                 self.current_phase = self.phase_list[0]
     101                self.current_phase = self.phases[0]
    102102
    103103    def advance_to_next_phase(self):
    104104        current_index = self.current_phase_number()
    105         if current_index < len(self.phase_list) - 1:
     105        if current_index < len(self.phases) - 1:
    106106            # Move to the next phase in the sequence
    107107            self.current_phase.reset()
    108             self.current_phase = self.phase_list[current_index + 1]
     108            self.current_phase = self.phases[current_index + 1]
    109109        else:
    110110            # Completed a full sequence; check if more repetitions are needed
     
    114114            else:
    115115                self.current_phase.reset()
    116                 self.current_phase = self.phase_list[0]  # Reset to the first phase
     116                self.current_phase = self.phases[0]  # Reset to the first phase
    117117
    118118    def tick(self, ticks):
     
    134134
    135135    def unrolled(self):
    136         return [deepcopy(seq) for seq in [each for each in self.initial_repetitions * self.phase_list]]
     136        return [deepcopy(seq) for seq in [each for each in self.initial_repetitions * self.phases]]
  • flowtimer/Schedule.py

    rd7a66ad rd310de3  
    7979                    "type": "Sequence",
    8080                    "title": block.title,
    81                     "sequence": [serialize_block(phase) for phase in block.phase_list],
     81                    "sequence": [serialize_block(phase) for phase in block.phases],
    8282                    "initial_repetitions": block.initial_repetitions
    8383                }
  • tests/test_recurring_phase_sequence.py

    rd7a66ad rd310de3  
    1717        assert isinstance(sequence, RecurringPhaseSequence)
    1818        assert sequence.initial_repetitions == 3
    19         assert len(sequence.phase_list) == 3
    20         assert sequence.phase_list[0].title == "Tasking"
     19        assert len(sequence.phases) == 3
     20        assert sequence.phases[0].title == "Tasking"
    2121
    2222    def test_to_json(self, recurring_phase_sequence):
     
    2626        assert data['initial_repetitions'] == 3
    2727        assert data['passes_left'] == 3
    28         assert len(data['phase_list']) == 3
     28        assert len(data['phases']) == 3
    2929
    3030    def test_initial_state(self, recurring_phase_sequence):
     
    4949
    5050    def test_ticks_left(self, recurring_phase_sequence):
    51         total_ticks = (sum([phase.initial_ticks for phase in recurring_phase_sequence.phase_list]) *
     51        total_ticks = (sum([phase.initial_ticks for phase in recurring_phase_sequence.phases]) *
    5252                       recurring_phase_sequence.initial_repetitions)
    5353
     
    5959        assert not recurring_phase_sequence.completed()
    6060        for _ in range(3):
    61             for phase in recurring_phase_sequence.phase_list:
     61            for phase in recurring_phase_sequence.phases:
    6262                recurring_phase_sequence.tick(phase.initial_ticks)
    6363        assert recurring_phase_sequence.completed()
Note: See TracChangeset for help on using the changeset viewer.