@@ -388,11 +388,12 @@ def get_next_sun_event(self, type: str, day_offset: int):
388
388
else :
389
389
return self .next_sunset (day_offset )
390
390
391
- def todays_sunrise (self , days_offset ):
392
- candidate_date = (self .now + datetime .timedelta (days = days_offset )).astimezone (self .AD .tz ).date ()
393
- next_rising_dt = self .location .sunrise (date = candidate_date , local = False , observer_elevation = self .AD .elevation )
391
+ def todays_sunrise (self , days_offset ): # @here todays sunrise
392
+ candidate_date = (self .now .astimezone (self .AD .tz ) + datetime .timedelta (days = days_offset )).date ()
393
+ # self.logger.info(f"{self.now.astimezone(self.AD.tz)=}, {candidate_date=}")
394
+ sunrise = self .location .sunrise (date = candidate_date , local = True , observer_elevation = self .AD .elevation )
394
395
395
- return next_rising_dt
396
+ return sunrise
396
397
397
398
def next_sunrise (self , offset : int = 0 ):
398
399
day_offset = 0
@@ -427,10 +428,11 @@ def next_sunset(self, offset: int = 0):
427
428
return next_setting_dt
428
429
429
430
def todays_sunset (self , days_offset ):
430
- candidate_date = (self .now + datetime .timedelta (days = days_offset )).astimezone (self .AD .tz ).date ()
431
- next_setting_dt = self .location .sunset (date = candidate_date , local = False , observer_elevation = self .AD .elevation )
431
+ candidate_date = (self .now .astimezone (self .AD .tz ) + datetime .timedelta (days = days_offset )).date ()
432
+ # self.logger.info(f"{self.now.astimezone(self.AD.tz)=}, {candidate_date=}")
433
+ sunset = self .location .sunset (date = candidate_date , local = True , observer_elevation = self .AD .elevation )
432
434
433
- return next_setting_dt
435
+ return sunset
434
436
435
437
@staticmethod
436
438
def get_offset (kwargs : dict ):
@@ -772,25 +774,31 @@ async def now_is_between(self, start_time_str, end_time_str, name=None, now=None
772
774
else :
773
775
now = (await self .get_now ()).astimezone (self .AD .tz )
774
776
775
- # self.diag.info(f"locals: {locals()}")
777
+ # self.logger.info(
778
+ # "\n" + "-" * 80 + f"\nInitial\nstart = {start_time}\nnow = {now}\nend = {end_time}\n" + "-" * 80
779
+ # )
780
+
776
781
# Comparisons
777
782
if end_time < start_time :
778
- # self.diag.info("Midnight transition")
779
783
# Start and end time backwards.
780
784
# Spans midnight
781
785
# Lets start by assuming end_time is wrong and should be tomorrow
782
786
# This will be true if we are currently after start_time
783
787
end_time = (await self ._parse_time (end_time_str , name , today = True , days_offset = 1 ))["datetime" ]
788
+ # self.logger.info(
789
+ # f"\nMidnight transition detected\nstart = {start_time}\nnow = {now}\nend = {end_time}\n" + "-" * 80
790
+ # )
784
791
if now < start_time and now < end_time :
785
- # self.diag.info("Reverse")
786
792
# Well, it's complicated -
787
793
# We crossed into a new day and things changed.
788
794
# Now all times have shifted relative to the new day, so we need to look at it differently
789
795
# If both times are now in the future, we now actually want to set start time back a day and keep end_time as today
790
796
start_time = (await self ._parse_time (start_time_str , name , today = True , days_offset = - 1 ))["datetime" ]
791
797
end_time = (await self ._parse_time (end_time_str , name , today = True , days_offset = 0 ))["datetime" ]
798
+ # self.logger.info(f"\nReverse\nstart = {start_time}\nnow = {now}\nend = {end_time}\n" + "=" * 80)
792
799
793
- # self.diag.info(f"\nstart = {start_time}\nnow = {now}\nend = {end_time}")
800
+ # self.logger.info(f"\nFinal\nstart = {start_time}\nnow = {now}\nend = {end_time}\n" + "-" * 80)
801
+ # self.logger.info(f"Final decision: {start_time <= now <= end_time}\n" + "=" * 80)
794
802
return start_time <= now <= end_time
795
803
796
804
async def sunset (self , aware , today = False , days_offset = 0 ):
0 commit comments