mirror of
https://github.com/home-assistant/core.git
synced 2025-07-15 17:27:10 +00:00
Show torah reading during weekdays (#17447)
* Add support for showing torah reading on weekdays as well * Update docstrings for test functions
This commit is contained in:
parent
3edcc9420a
commit
c5905ee5ca
@ -4,6 +4,7 @@ Platform to retrieve Jewish calendar information for Home Assistant.
|
||||
For more details about this platform, please refer to the documentation at
|
||||
https://home-assistant.io/components/sensor.jewish_calendar/
|
||||
"""
|
||||
from datetime import timedelta
|
||||
import logging
|
||||
|
||||
import voluptuous as vol
|
||||
@ -107,16 +108,20 @@ class JewishCalSensor(Entity):
|
||||
import hdate
|
||||
|
||||
today = dt_util.now().date()
|
||||
upcoming_saturday = today + timedelta((12 - today.weekday()) % 7)
|
||||
|
||||
date = hdate.HDate(
|
||||
today, diaspora=self.diaspora, hebrew=self._hebrew)
|
||||
upcoming_shabbat = hdate.HDate(
|
||||
upcoming_saturday, diaspora=self.diaspora, hebrew=self._hebrew)
|
||||
|
||||
if self.type == 'date':
|
||||
self._state = hdate.date.get_hebrew_date(
|
||||
date.h_day, date.h_month, date.h_year, hebrew=self._hebrew)
|
||||
elif self.type == 'weekly_portion':
|
||||
self._state = hdate.date.get_parashe(
|
||||
date.get_reading(self.diaspora), hebrew=self._hebrew)
|
||||
upcoming_shabbat.get_reading(self.diaspora),
|
||||
hebrew=self._hebrew)
|
||||
elif self.type == 'holiday_name':
|
||||
try:
|
||||
description = next(
|
||||
|
@ -85,7 +85,7 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
||||
self.assertEqual(sensor.state, "כ\"ג באלול ה\' תשע\"ח")
|
||||
|
||||
def test_jewish_calendar_sensor_holiday_name(self):
|
||||
"""Test Jewish calendar sensor date output in hebrew."""
|
||||
"""Test Jewish calendar sensor holiday name output in hebrew."""
|
||||
test_time = dt(2018, 9, 10)
|
||||
sensor = JewishCalSensor(
|
||||
name='test', language='hebrew', sensor_type='holiday_name',
|
||||
@ -97,7 +97,7 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
||||
self.assertEqual(sensor.state, "א\' ראש השנה")
|
||||
|
||||
def test_jewish_calendar_sensor_holiday_name_english(self):
|
||||
"""Test Jewish calendar sensor date output in hebrew."""
|
||||
"""Test Jewish calendar sensor holiday name output in english."""
|
||||
test_time = dt(2018, 9, 10)
|
||||
sensor = JewishCalSensor(
|
||||
name='test', language='english', sensor_type='holiday_name',
|
||||
@ -109,7 +109,7 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
||||
self.assertEqual(sensor.state, "Rosh Hashana I")
|
||||
|
||||
def test_jewish_calendar_sensor_holyness(self):
|
||||
"""Test Jewish calendar sensor date output in hebrew."""
|
||||
"""Test Jewish calendar sensor holyness value."""
|
||||
test_time = dt(2018, 9, 10)
|
||||
sensor = JewishCalSensor(
|
||||
name='test', language='hebrew', sensor_type='holyness',
|
||||
@ -121,7 +121,7 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
||||
self.assertEqual(sensor.state, 1)
|
||||
|
||||
def test_jewish_calendar_sensor_torah_reading(self):
|
||||
"""Test Jewish calendar sensor date output in hebrew."""
|
||||
"""Test Jewish calendar sensor torah reading in hebrew."""
|
||||
test_time = dt(2018, 9, 8)
|
||||
sensor = JewishCalSensor(
|
||||
name='test', language='hebrew', sensor_type='weekly_portion',
|
||||
@ -133,7 +133,7 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
||||
self.assertEqual(sensor.state, "פרשת נצבים")
|
||||
|
||||
def test_jewish_calendar_sensor_first_stars_ny(self):
|
||||
"""Test Jewish calendar sensor date output in hebrew."""
|
||||
"""Test Jewish calendar sensor first stars time in NY, US."""
|
||||
test_time = dt(2018, 9, 8)
|
||||
sensor = JewishCalSensor(
|
||||
name='test', language='hebrew', sensor_type='first_stars',
|
||||
@ -145,7 +145,7 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
||||
self.assertEqual(sensor.state, time(19, 48))
|
||||
|
||||
def test_jewish_calendar_sensor_first_stars_jerusalem(self):
|
||||
"""Test Jewish calendar sensor date output in hebrew."""
|
||||
"""Test Jewish calendar sensor first stars time in Jerusalem, IL."""
|
||||
test_time = dt(2018, 9, 8)
|
||||
sensor = JewishCalSensor(
|
||||
name='test', language='hebrew', sensor_type='first_stars',
|
||||
@ -155,3 +155,15 @@ class TestJewishCalenderSensor(unittest.TestCase):
|
||||
run_coroutine_threadsafe(
|
||||
sensor.async_update(), self.hass.loop).result()
|
||||
self.assertEqual(sensor.state, time(19, 21))
|
||||
|
||||
def test_jewish_calendar_sensor_torah_reading_weekday(self):
|
||||
"""Test the sensor showing torah reading also on weekdays."""
|
||||
test_time = dt(2018, 10, 14)
|
||||
sensor = JewishCalSensor(
|
||||
name='test', language='hebrew', sensor_type='weekly_portion',
|
||||
latitude=self.TEST_LATITUDE, longitude=self.TEST_LONGITUDE,
|
||||
timezone="Asia/Jerusalem", diaspora=False)
|
||||
with patch('homeassistant.util.dt.now', return_value=test_time):
|
||||
run_coroutine_threadsafe(
|
||||
sensor.async_update(), self.hass.loop).result()
|
||||
self.assertEqual(sensor.state, "פרשת לך לך")
|
||||
|
Loading…
x
Reference in New Issue
Block a user