Files
Garbage-Collection-fr/custom_components/garbage_collection/const.py
T

145 lines
4.8 KiB
Python

"""Define constants used in garbage_collection."""
from homeassistant.helpers import selector
# Constants for garbage_collection.
# Base component constants
DOMAIN = "garbage_collection"
CALENDAR_NAME = "Garbage Collection"
SENSOR_PLATFORM = "sensor"
CALENDAR_PLATFORM = "calendar"
ATTRIBUTION = "Data from this is provided by garbage_collection."
CONFIG_VERSION = 6
ATTR_NEXT_DATE = "next_date"
ATTR_DAYS = "days"
ATTR_LAST_COLLECTION = "last_collection"
ATTR_LAST_UPDATED = "last_updated"
# Device classes
BINARY_SENSOR_DEVICE_CLASS = "connectivity"
DEVICE_CLASS = "garbage_collection__schedule"
# Configuration
CONF_SENSOR = "sensor"
CONF_ENABLED = "enabled"
CONF_FREQUENCY = "frequency"
CONF_MANUAL = "manual_update"
CONF_ICON_NORMAL = "icon_normal"
CONF_ICON_TODAY = "icon_today"
CONF_ICON_TOMORROW = "icon_tomorrow"
CONF_OFFSET = "offset"
CONF_EXPIRE_AFTER = "expire_after"
CONF_VERBOSE_STATE = "verbose_state"
CONF_FIRST_MONTH = "first_month"
CONF_LAST_MONTH = "last_month"
CONF_COLLECTION_DAYS = "collection_days"
CONF_WEEKDAY_ORDER_NUMBER = "weekday_order_number"
CONF_FORCE_WEEK_NUMBERS = "force_week_order_numbers"
CONF_WEEK_ORDER_NUMBER = "week_order_number" # Obsolete
CONF_DATE = "date"
CONF_PERIOD = "period"
CONF_FIRST_WEEK = "first_week"
CONF_FIRST_DATE = "first_date"
CONF_SENSORS = "sensors"
CONF_VERBOSE_FORMAT = "verbose_format"
CONF_DATE_FORMAT = "date_format"
CONF_MOVE_COUNTRY_HOLIDAYS = "move_country_holidays"
CONF_HOLIDAY_DATES = "holiday_dates"
# Defaults
DEFAULT_NAME = DOMAIN
DEFAULT_FIRST_MONTH = "jan"
DEFAULT_LAST_MONTH = "dec"
DEFAULT_FREQUENCY = "weekly"
DEFAULT_PERIOD = 1
DEFAULT_FIRST_WEEK = 1
DEFAULT_VERBOSE_STATE = False
DEFAULT_HOLIDAY_IN_WEEK_MOVE = False
DEFAULT_HOLIDAY_DATES = "01-01,05-01,12-25"
DEFAULT_DATE_FORMAT = "%d-%b-%Y"
DEFAULT_VERBOSE_FORMAT = "on {date}, in {days} days"
# Icons
DEFAULT_ICON_NORMAL = "mdi:trash-can"
DEFAULT_ICON_TODAY = "mdi:delete-restore"
DEFAULT_ICON_TOMORROW = "mdi:delete-circle"
ICON = DEFAULT_ICON_NORMAL
# States
STATE_TODAY = "today"
STATE_TOMORROW = "tomorrow"
FREQUENCY_OPTIONS = [
selector.SelectOptionDict(value="weekly", label="weekly"),
selector.SelectOptionDict(value="even-weeks", label="even-weeks"),
selector.SelectOptionDict(value="odd-weeks", label="odd-weeks"),
selector.SelectOptionDict(value="every-n-weeks", label="every-n-weeks"),
selector.SelectOptionDict(value="every-n-days", label="every-n-days"),
selector.SelectOptionDict(value="monthly", label="monthly"),
selector.SelectOptionDict(value="annual", label="annual"),
selector.SelectOptionDict(value="blank", label="blank"),
selector.SelectOptionDict(value="group", label="group"),
]
WEEKLY_FREQUENCY = ["weekly", "even-weeks", "odd-weeks"]
EXCEPT_ANNUAL_GROUP = [
"weekly",
"even-weeks",
"odd-weeks",
"every-n-weeks",
"every-n-days",
"monthly",
"blank",
]
EXCEPT_ANNUAL_GROUP_BLANK = [
"weekly",
"even-weeks",
"odd-weeks",
"every-n-weeks",
"every-n-days",
"monthly",
]
WEEKLY_DAILY_MONTHLY = ["every-n-weeks", "every-n-days", "monthly"]
WEEKLY_FREQUENCY_X = ["every-n-weeks"]
DAILY_FREQUENCY = ["every-n-days"]
DAILY_BLANK_FREQUENCY = ["blank", "every-n-days"]
MONTHLY_FREQUENCY = ["monthly"]
ANNUAL_GROUP_FREQUENCY = ["annual", "group"]
ANNUAL_FREQUENCY = ["annual"]
GROUP_FREQUENCY = ["group"]
BLANK_FREQUENCY = ["blank"]
WEEKDAY_OPTIONS = [
selector.SelectOptionDict(value="mon", label="Monday"),
selector.SelectOptionDict(value="tue", label="Tuesday"),
selector.SelectOptionDict(value="wed", label="Wednesday"),
selector.SelectOptionDict(value="thu", label="Thursday"),
selector.SelectOptionDict(value="fri", label="Friday"),
selector.SelectOptionDict(value="sat", label="Saturday"),
selector.SelectOptionDict(value="sun", label="Sunday"),
]
MONTH_OPTIONS = [
selector.SelectOptionDict(value="jan", label="January"),
selector.SelectOptionDict(value="feb", label="February"),
selector.SelectOptionDict(value="mar", label="March"),
selector.SelectOptionDict(value="apr", label="April"),
selector.SelectOptionDict(value="may", label="May"),
selector.SelectOptionDict(value="jun", label="June"),
selector.SelectOptionDict(value="jul", label="July"),
selector.SelectOptionDict(value="aug", label="August"),
selector.SelectOptionDict(value="sep", label="September"),
selector.SelectOptionDict(value="oct", label="October"),
selector.SelectOptionDict(value="nov", label="November"),
selector.SelectOptionDict(value="dec", label="December"),
]
ORDER_OPTIONS = [
selector.SelectOptionDict(value="1", label="1st"),
selector.SelectOptionDict(value="2", label="2nd"),
selector.SelectOptionDict(value="3", label="3rd"),
selector.SelectOptionDict(value="4", label="4th"),
selector.SelectOptionDict(value="5", label="5th"),
]