Bump pyaftership to 21.11.0 (#64294)
This commit is contained in:
parent
d84beefd4e
commit
b45f3b97c3
3 changed files with 27 additions and 35 deletions
|
@ -2,7 +2,9 @@
|
|||
"domain": "aftership",
|
||||
"name": "AfterShip",
|
||||
"documentation": "https://www.home-assistant.io/integrations/aftership",
|
||||
"requirements": ["pyaftership==0.1.2"],
|
||||
"requirements": [
|
||||
"pyaftership==21.11.0"
|
||||
],
|
||||
"codeowners": [],
|
||||
"iot_class": "cloud_polling"
|
||||
}
|
||||
}
|
|
@ -1,11 +1,10 @@
|
|||
"""Support for non-delivered packages recorded in AfterShip."""
|
||||
from __future__ import annotations
|
||||
|
||||
from http import HTTPStatus
|
||||
import logging
|
||||
from typing import Any, Final
|
||||
|
||||
from pyaftership.tracker import Tracking
|
||||
from pyaftership import AfterShip, AfterShipException
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.sensor import (
|
||||
|
@ -60,27 +59,23 @@ async def async_setup_platform(
|
|||
name = config[CONF_NAME]
|
||||
|
||||
session = async_get_clientsession(hass)
|
||||
aftership = Tracking(hass.loop, session, apikey)
|
||||
aftership = AfterShip(api_key=apikey, session=session)
|
||||
|
||||
await aftership.get_trackings()
|
||||
|
||||
if not aftership.meta or aftership.meta["code"] != HTTPStatus.OK:
|
||||
_LOGGER.error(
|
||||
"No tracking data found. Check API key is correct: %s", aftership.meta
|
||||
)
|
||||
try:
|
||||
await aftership.trackings.list()
|
||||
except AfterShipException as err:
|
||||
_LOGGER.error("No tracking data found. Check API key is correct: %s", err)
|
||||
return
|
||||
|
||||
instance = AfterShipSensor(aftership, name)
|
||||
|
||||
async_add_entities([instance], True)
|
||||
async_add_entities([AfterShipSensor(aftership, name)], True)
|
||||
|
||||
async def handle_add_tracking(call: ServiceCall) -> None:
|
||||
"""Call when a user adds a new Aftership tracking from Home Assistant."""
|
||||
title = call.data.get(CONF_TITLE)
|
||||
slug = call.data.get(CONF_SLUG)
|
||||
tracking_number = call.data[CONF_TRACKING_NUMBER]
|
||||
|
||||
await aftership.add_package_tracking(tracking_number, title, slug)
|
||||
await aftership.trackings.add(
|
||||
tracking_number=call.data[CONF_TRACKING_NUMBER],
|
||||
title=call.data.get(CONF_TITLE),
|
||||
slug=call.data.get(CONF_SLUG),
|
||||
)
|
||||
async_dispatcher_send(hass, UPDATE_TOPIC)
|
||||
|
||||
hass.services.async_register(
|
||||
|
@ -92,10 +87,10 @@ async def async_setup_platform(
|
|||
|
||||
async def handle_remove_tracking(call: ServiceCall) -> None:
|
||||
"""Call when a user removes an Aftership tracking from Home Assistant."""
|
||||
slug = call.data[CONF_SLUG]
|
||||
tracking_number = call.data[CONF_TRACKING_NUMBER]
|
||||
|
||||
await aftership.remove_package_tracking(slug, tracking_number)
|
||||
await aftership.trackings.remove(
|
||||
tracking_number=call.data[CONF_TRACKING_NUMBER],
|
||||
slug=call.data[CONF_SLUG],
|
||||
)
|
||||
async_dispatcher_send(hass, UPDATE_TOPIC)
|
||||
|
||||
hass.services.async_register(
|
||||
|
@ -113,7 +108,7 @@ class AfterShipSensor(SensorEntity):
|
|||
_attr_native_unit_of_measurement: str = "packages"
|
||||
_attr_icon: str = ICON
|
||||
|
||||
def __init__(self, aftership: Tracking, name: str) -> None:
|
||||
def __init__(self, aftership: AfterShip, name: str) -> None:
|
||||
"""Initialize the sensor."""
|
||||
self._attributes: dict[str, Any] = {}
|
||||
self._state: int | None = None
|
||||
|
@ -146,15 +141,10 @@ class AfterShipSensor(SensorEntity):
|
|||
@Throttle(MIN_TIME_BETWEEN_UPDATES)
|
||||
async def async_update(self, **kwargs: Any) -> None:
|
||||
"""Get the latest data from the AfterShip API."""
|
||||
await self.aftership.get_trackings()
|
||||
|
||||
if not self.aftership.meta:
|
||||
_LOGGER.error("Unknown errors when querying")
|
||||
return
|
||||
if self.aftership.meta["code"] != HTTPStatus.OK:
|
||||
_LOGGER.error(
|
||||
"Errors when querying AfterShip. %s", str(self.aftership.meta)
|
||||
)
|
||||
try:
|
||||
trackings = await self.aftership.trackings.list()
|
||||
except AfterShipException as err:
|
||||
_LOGGER.error("Errors when querying AfterShip - %s", err)
|
||||
return
|
||||
|
||||
status_to_ignore = {"delivered"}
|
||||
|
@ -162,7 +152,7 @@ class AfterShipSensor(SensorEntity):
|
|||
trackings = []
|
||||
not_delivered_count = 0
|
||||
|
||||
for track in self.aftership.trackings["trackings"]:
|
||||
for track in trackings:
|
||||
status = track["tag"].lower()
|
||||
name = (
|
||||
track["tracking_number"] if track["title"] is None else track["title"]
|
||||
|
|
|
@ -1374,7 +1374,7 @@ pyads==3.2.2
|
|||
pyaehw4a1==0.3.9
|
||||
|
||||
# homeassistant.components.aftership
|
||||
pyaftership==0.1.2
|
||||
pyaftership==21.11.0
|
||||
|
||||
# homeassistant.components.airnow
|
||||
pyairnow==1.1.0
|
||||
|
|
Loading…
Add table
Reference in a new issue