def update(self, **kwargs): """Fetch the latest info from USPS.""" import myusps self.packages = myusps.get_packages(self.session) self.mail = myusps.get_mail(self.session, now().date()) self.attribution = myusps.ATTRIBUTION _LOGGER.debug("Mail, request date: %s, list: %s", now().date(), self.mail) _LOGGER.debug("Package list: %s", self.packages)
def update(self, **kwargs): """Fetch the latest info from USPS.""" import myusps self.packages = myusps.get_packages(self.session) self.mail = myusps.get_mail(self.session, now().date()) self.attribution = myusps.ATTRIBUTION _LOGGER.debug("Mail, request date: %s, list: %s", now().date(), self.mail) _LOGGER.debug("Package list: %s", self.packages)
def _update(self): """Update device state.""" import myusps status_counts = defaultdict(int) for package in myusps.get_packages(self._session): status = slugify(package['primary_status']) if status == STATUS_DELIVERED and \ parse_datetime(package['date']).date() < now().date(): continue status_counts[status] += 1 self._attributes = {ATTR_ATTRIBUTION: myusps.ATTRIBUTION} self._attributes.update(status_counts) self._state = sum(status_counts.values())
def _update(self): """Update device state.""" import myusps status_counts = defaultdict(int) for package in myusps.get_packages(self._session): status = slugify(package["primary_status"]) if status == STATUS_DELIVERED and parse_datetime(package["date"]).date() < now().date(): continue status_counts[status] += 1 self._attributes = {ATTR_ATTRIBUTION: myusps.ATTRIBUTION} self._attributes.update(status_counts) self._state = sum(status_counts.values())
client = ImgurClient(imgur_client_id, imgur_client_secret) except: print("Imgur is down, mail images will not show up") pass # Establish a session. username = os.environ.get('usps_username') password = os.environ.get('usps_password') # Use the login credentials you use to login to My USPS via the web. # A login failure raises a `USPSError`. # Using the Firefox driver here for selenium as it appears to be the most stable one at the moment. session = myusps.get_session(username, password, driver='firefox') # Get all packages that My UPS knows about. packages = myusps.get_packages(session) #Check for packages that haven't been delivered yet upcoming_packages = 0 for p in packages: tracking_number = p['tracking_number'] delivery_date = p['delivery_date'] primary_status = p['primary_status'] #Skip delivered package if primary_status == "Delivered": continue upcoming_packages += 1 #Handle any packages in the queue if upcoming_packages > 0: slack_text = (
def _update(self): """Update device state.""" import myusps self._packages = myusps.get_packages(self._session)