From 62f26fb701fc4f3bdd14da66cec456da4cb3df93 Mon Sep 17 00:00:00 2001 From: Marcelo Moreira de Mello Date: Mon, 16 Jan 2017 11:36:35 -0500 Subject: [PATCH] Fixes #5357 which especify absolute path to save cookie used by USPS sensor. (#5358) Traceback (most recent call last): File "/home/hass/.virtualenvs/home_assistant/lib/python3.5/site-packages/homeassistant/helpers/entity_component.py", line 151, in _async_setup_platform entity_platform.add_entities, discovery_info File "/usr/local/lib/python3.5/asyncio/futures.py", line 361, in __iter__ yield self # This tells Task to wait for completion. File "/usr/local/lib/python3.5/asyncio/tasks.py", line 296, in _wakeup future.result() File "/usr/local/lib/python3.5/asyncio/futures.py", line 274, in result raise self._exception File "/usr/local/lib/python3.5/concurrent/futures/thread.py", line 55, in run result = self.fn(*self.args, **self.kwargs) File "/home/hass/.virtualenvs/home_assistant/lib/python3.5/site-packages/homeassistant/components/sensor/usps.py", line 48, in setup_platform add_devices([USPSSensor(session, config.get(CONF_UPDATE_INTERVAL))]) File "/home/hass/.virtualenvs/home_assistant/lib/python3.5/site-packages/homeassistant/components/sensor/usps.py", line 58, in __init__ self._profile = myusps.get_profile(session) File "/home/hass/.homeassistant/deps/myusps/__init__.py", line 100, in wrapped _login(*args) File "/home/hass/.homeassistant/deps/myusps/__init__.py", line 90, in _login _save_cookies(session.cookies, session.auth.cookie_path) File "/home/hass/.homeassistant/deps/myusps/__init__.py", line 41, in _save_cookies with open(filename, 'wb') as handle: PermissionError: [Errno 13] Permission denied: './usps_cookies.pickle' --- homeassistant/components/sensor/usps.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/sensor/usps.py b/homeassistant/components/sensor/usps.py index e9562667f6d..0bc7f6cbd5a 100644 --- a/homeassistant/components/sensor/usps.py +++ b/homeassistant/components/sensor/usps.py @@ -22,6 +22,7 @@ REQUIREMENTS = ['myusps==1.0.1'] _LOGGER = logging.getLogger(__name__) +COOKIE = 'usps_cookies.pickle' CONF_UPDATE_INTERVAL = 'update_interval' ICON = 'mdi:package-variant-closed' STATUS_DELIVERED = 'delivered' @@ -39,8 +40,10 @@ def setup_platform(hass, config, add_devices, discovery_info=None): """Setup the USPS platform.""" import myusps try: + cookie = hass.config.path(COOKIE) session = myusps.get_session(config.get(CONF_USERNAME), - config.get(CONF_PASSWORD)) + config.get(CONF_PASSWORD), + cookie_path=cookie) except myusps.USPSError: _LOGGER.exception('Could not connect to My USPS') return False