def pick_any_media_file(media): """Return a file playable in at least one of the configured players. :param media: A :class:`~mediadrop.model.media.Media` instance. :returns: A :class:`~mediadrop.model.media.MediaFile` object or None """ uris = media.get_uris() from mediadrop.model.players import fetch_enabled_players for player_cls, player_data in fetch_enabled_players(): for i, plays in enumerate(player_cls.can_play(uris)): if plays: return uris[i] return None
def pick_any_media_file(media): """Return a file playable in at least one of the configured players. :param media: A :class:`~mediadrop.model.media.Media` instance. :returns: A :class:`~mediadrop.model.media.MediaFile` object or None """ uris = media.get_uris() from mediadrop.model.players import fetch_enabled_players for player_cls, player_data in fetch_enabled_players(): for i, plays in enumerate(player_cls.can_play(uris)): if plays: return uris[i] return None
def preferred_player_for_media(media, **kwargs): uris = media.get_uris() from mediadrop.model.players import fetch_enabled_players # Find the first player that can play any uris for player_cls, player_data in fetch_enabled_players(): can_play = player_cls.can_play(uris) if any(can_play): break else: return None # Grab just the uris that the chosen player can play playable_uris = [uri for uri, plays in izip(uris, can_play) if plays] kwargs['data'] = player_data return player_cls(media, playable_uris, **kwargs)
def preferred_player_for_media(media, **kwargs): uris = media.get_uris() from mediadrop.model.players import fetch_enabled_players # Find the first player that can play any uris for player_cls, player_data in fetch_enabled_players(): can_play = player_cls.can_play(uris) if any(can_play): break else: return None # Grab just the uris that the chosen player can play playable_uris = [uri for uri, plays in izip(uris, can_play) if plays] kwargs['data'] = player_data return player_cls(media, playable_uris, **kwargs)