def get_suitable_downloader(info_dict):
 url = info_dict[u'url']
 protocol = info_dict.get(u'protocol')
 if url.startswith(u'rtmp'):
  return RtmpFD
 if (protocol == u'm3u8_native'):
  return NativeHlsFD
 if ((protocol == u'm3u8') or ((protocol is None) and (determine_ext(url) == u'm3u8'))):
  return HlsFD
 if (url.startswith(u'mms') or url.startswith(u'rtsp')):
  return MplayerFD
 if (determine_ext(url) == u'f4m'):
  return F4mFD
 else:
  return HttpFD

def get_suitable_downloader ( info_dict ) : url = info_dict [ u'url' ] protocol = info_dict . get ( u'protocol' ) if url . startswith ( u'rtmp' ) : return RtmpFD if ( protocol == u'm3u8_native' ) : return NativeHlsFD if ( ( protocol == u'm3u8' ) or ( ( protocol is None ) and ( determine_ext ( url ) == u'm3u8' ) ) ) : return HlsFD if ( url . startswith ( u'mms' ) or url . startswith ( u'rtsp' ) ) : return MplayerFD if ( determine_ext ( url ) == u'f4m' ) : return F4mFD else : return HttpFD
get the downloader class that can handle the info dict .