2828CONF_TOKEN = 'token'
2929CONF_MAX = 'max'
3030CONF_IMG_CACHE = 'img_dir'
31+ CONF_SECTION_TYPES = 'section_types'
3132
3233PLATFORM_SCHEMA = PLATFORM_SCHEMA .extend ({
3334 vol .Optional (CONF_SSL , default = False ): cv .boolean ,
3839 vol .Optional (CONF_DL_IMAGES , default = True ): cv .boolean ,
3940 vol .Optional (CONF_HOST , default = 'localhost' ): cv .string ,
4041 vol .Optional (CONF_PORT , default = 32400 ): cv .port ,
42+ vol .Optional (CONF_SECTION_TYPES ,
43+ default = ['movie' , 'show' ]): vol .All (cv .ensure_list , [cv .string ]),
4144 vol .Optional (CONF_IMG_CACHE ,
4245 default = '/custom-lovelace/upcoming-media-card/images/plex/' ): cv .string
4346})
@@ -63,6 +66,7 @@ def __init__(self, hass, conf):
6366 self .server_name = conf .get (CONF_SERVER )
6467 self .max_items = int (conf .get (CONF_MAX ))
6568 self .dl_images = conf .get (CONF_DL_IMAGES )
69+ self .sections = conf .get (CONF_SECTION_TYPES )
6670 if self .server_name :
6771 self .server_ip , self .local_ip , self .port = get_server_ip (
6872 self .server_name , self .token )
@@ -197,7 +201,8 @@ def update(self):
197201 try :
198202 libraries = plex .get (all_libraries , headers = headers , timeout = 10 )
199203 for lib_section in libraries .json ()['MediaContainer' ]['Directory' ]:
200- sections .append (lib_section ['key' ])
204+ if lib_section ['type' ] in self .sections :
205+ sections .append (lib_section ['key' ])
201206 except OSError :
202207 _LOGGER .warning ("Host %s is not available" , self .server_ip )
203208 self ._state = '%s cannot be reached' % self .server_ip
@@ -254,6 +259,9 @@ def update(self):
254259 elif media ['type' ] == 'episode' :
255260 poster = media .get ('grandparentThumb' , '' )
256261 fanart = media .get ('grandparentArt' , '' )
262+ else :
263+ _LOGGER .error ("Media type: %s" , media ['type' ])
264+ continue
257265 poster_jpg = '{}p{}.jpg' .format (directory ,
258266 media ['ratingKey' ])
259267 fanart_jpg = '{}f{}.jpg' .format (directory ,
0 commit comments