|
|
- """Discover Samsung Smart TV services."""
- from . import SSDPDiscoverable
- from ..const import ATTR_NAME
-
- # For some models, Samsung forces a [TV] prefix to the user-specified name.
- FORCED_NAME_PREFIX = '[TV]'
-
-
- class Discoverable(SSDPDiscoverable):
- """Add support for discovering Samsung Smart TV services."""
-
- def get_entries(self):
- """Get all the Samsung RemoteControlReceiver entries."""
- return self.find_by_st(
- "urn:samsung.com:device:RemoteControlReceiver:1")
-
- def info_from_entry(self, entry):
- """Get most important info, by default the description location."""
- info = super().info_from_entry(entry)
-
- # Strip the forced prefix, if present
- if info[ATTR_NAME].startswith(FORCED_NAME_PREFIX):
- info[ATTR_NAME] = info[ATTR_NAME][len(FORCED_NAME_PREFIX):].strip()
-
- return info
|