@@ -188,18 +188,10 @@ def __scheduler_job(self):
188188 if not self .running :
189189 return
190190
191- # Convert to seconds
192- time_to_wait = self .break_queue .get_break ().time * 60
193191 current_time = datetime .datetime .now ()
194192 current_timestamp = current_time .timestamp ()
195193
196- if self .context ['postponed' ]:
197- # Previous break was postponed
198- logging .info ('Prepare for postponed break' )
199- time_to_wait = self .postpone_duration
200- self .context ['postponed' ] = False
201-
202- elif self .context ['state' ] == State .RESTING and self .paused_time > - 1 :
194+ if self .context ['state' ] == State .RESTING and self .paused_time > - 1 :
203195 # Safe Eyes was resting
204196 paused_duration = int (current_timestamp - self .paused_time )
205197 self .paused_time = - 1
@@ -208,9 +200,18 @@ def __scheduler_job(self):
208200 # Skip the next long break
209201 self .break_queue .reset ()
210202
211- if current_timestamp < self .scheduled_next_break_timestamp :
203+ if self .context ['postponed' ]:
204+ # Previous break was postponed
205+ logging .info ('Prepare for postponed break' )
206+ time_to_wait = self .postpone_duration
207+ self .context ['postponed' ] = False
208+ elif current_timestamp < self .scheduled_next_break_timestamp :
209+ # Non-standard break was set.
212210 time_to_wait = round (self .scheduled_next_break_timestamp - current_timestamp )
213211 self .scheduled_next_break_timestamp = - 1
212+ else :
213+ # Use next break, convert to seconds
214+ time_to_wait = self .break_queue .get_break ().time * 60
214215
215216 self .scheduled_next_break_time = current_time + datetime .timedelta (seconds = time_to_wait )
216217 self .context ['state' ] = State .WAITING
0 commit comments