From 46274d4393895fb8ca2fe048ba77adaa74bd1f55 Mon Sep 17 00:00:00 2001 From: Dennis Karpienski Date: Tue, 19 Apr 2016 17:53:58 +0200 Subject: [PATCH] add media_player webos tv platform (#1853) * added webos tv platform * moved coverage entries --- .coveragerc | 5 +- .../www_static/images/config_webos.png | Bin 0 -> 22848 bytes .../components/media_player/webostv.py | 249 ++++++++++++++++++ homeassistant/components/notify/webostv.py | 62 +++++ requirements_all.txt | 3 + 5 files changed, 318 insertions(+), 1 deletion(-) create mode 100644 homeassistant/components/frontend/www_static/images/config_webos.png create mode 100644 homeassistant/components/media_player/webostv.py create mode 100644 homeassistant/components/notify/webostv.py diff --git a/.coveragerc b/.coveragerc index 5e3dc0978ee..1c7b05c7d24 100644 --- a/.coveragerc +++ b/.coveragerc @@ -68,6 +68,10 @@ omit = homeassistant/components/upnp.py homeassistant/components/zeroconf.py + homeassistant/components/*/thinkingcleaner.py + + homeassistant/components/*/webostv.py + homeassistant/components/binary_sensor/arest.py homeassistant/components/binary_sensor/rest.py homeassistant/components/browser.py @@ -179,7 +183,6 @@ omit = homeassistant/components/thermostat/homematic.py homeassistant/components/thermostat/proliphix.py homeassistant/components/thermostat/radiotherm.py - homeassistant/components/*/thinkingcleaner.py [report] diff --git a/homeassistant/components/frontend/www_static/images/config_webos.png b/homeassistant/components/frontend/www_static/images/config_webos.png new file mode 100644 index 0000000000000000000000000000000000000000..757aec76270b50d9f7415b840d916fbc2071a76b GIT binary patch literal 22848 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 a$^QofF>eAW8&OXH0000