def parse_art(videoid, item, raw_data): """Parse art info from a path request response to Kodi art infolabels""" boxarts = common.get_multiple_paths(paths.ART_PARTIAL_PATHS[0] + ['url'], item) interesting_moment = common.get_multiple_paths( paths.ART_PARTIAL_PATHS[1] + ['url'], item, {}).get(paths.ART_SIZE_FHD) clearlogo = common.get_path_safe(paths.ART_PARTIAL_PATHS[3] + ['url'], item) fanart = common.get_path_safe(paths.ART_PARTIAL_PATHS[4] + [0, 'url'], item) return assign_art(videoid, boxarts[paths.ART_SIZE_FHD], boxarts[paths.ART_SIZE_SD], boxarts[paths.ART_SIZE_POSTER], interesting_moment, clearlogo, fanart)
def _get_and_transform(source, target, item): """Get the value for source and transform it if neccessary""" value = common.get_path_safe(source, item) if isinstance(value, dict) or value is None: return '' return (paths.INFO_TRANSFORMATIONS[target](value) if target in paths.INFO_TRANSFORMATIONS else value)
def parse_art(videoid, item): """Parse art info from a path request response to Kodi art infolabels""" boxarts = common.get_multiple_paths( paths.ART_PARTIAL_PATHS[0] + ['url'], item, {}) interesting_moment = common.get_multiple_paths( paths.ART_PARTIAL_PATHS[1] + ['url'], item, {}) clearlogo = common.get_path_safe( paths.ART_PARTIAL_PATHS[2] + ['url'], item) fanart = common.get_path_safe( paths.ART_PARTIAL_PATHS[3] + [0, 'url'], item) return _assign_art(videoid, boxart_large=boxarts.get(paths.ART_SIZE_FHD), boxart_small=boxarts.get(paths.ART_SIZE_SD), poster=boxarts.get(paths.ART_SIZE_POSTER), interesting_moment=interesting_moment.get(paths.ART_SIZE_FHD), clearlogo=clearlogo, fanart=fanart)
def _parse_atomic_infos(item): """Parse those infos into infolabels that are directly accessible from the item dict""" infos = {} for target, source in paths.INFO_MAPPINGS: value = common.get_path_safe(source, item) # The dict check is needed when the info requested is not available # and jsonGraph return a dict of $type sentinel if not isinstance(value, dict) and value is not None: infos[target] = _transform_value(target, value) return infos
def is_in_library(videoid): """Return True if the video is in the local Kodi library, else False""" return common.get_path_safe(videoid.to_list(), g.library()) is not None