Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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