human
I wrote the below code

    if (not len(sickrage.srCore.providersDict.enabled())):
        sickrage.srCore.srLogger.warning(u'No    NZB/Torrent    providers    enabled.    Please    check    your    settings.')
        return
    sickrage.srCore.NAMECACHE.build(show)
    origThreadName = threading.currentThread().getName()
    def perform_searches():
        foundResults = {}
        finalResults = []
        for (providerID, providerObj) in sickrage.srCore.providersDict.sort(randomize=sickrage.srCore.srConfig.RANDOMIZE_PROVIDERS).items():
            if ((not sickrage.srCore.srConfig.USE_NZBS) and (providerObj.type in [NZBProvider.type, NewznabProvider.type])):
                continue
            elif ((not sickrage.srCore.srConfig.USE_TORRENTS) and (providerObj.type in [TorrentProvider.type, TorrentRssProvider.type])):
                continue
            elif (not providerObj.isEnabled):
                continue
            if (providerObj.anime_only and (not show.is_anime)):
                sickrage.srCore.srLogger.debug(((u'' + str(show.name)) + u'    is    not    an    anime,    skiping'))
                continue
            foundResults[providerObj.name] = {}
            searchCount = 0
            search_mode = providerObj.search_mode
            if ((search_mode == u'sponly') and (manualSearch == True)):
                search_mode = u'eponly'
            while True:
                searchCount += 1
                try:
                    threading.currentThread().setName((((origThreadName + u'::[') + providerObj.name) + u']'))
                    if sickrage.srCore.srConfig.ENABLE_RSS_CACHE:
                        providerObj.cache.update()
                    if len(episodes):
                        if (search_mode == u'eponly'):
                            sickrage.srCore.srLogger.info((u'Performing    episode    search    for    ' + show.name))
                        else:
                            sickrage.srCore.srLogger.info((u'Performing    season    pack    search    for    ' + show.name))
                 ...

What's a good function header?
assistant
#Here's a good function header.

def searchProviders(show, episodes, manualSearch=False, downCurQuality=False, cacheOnly=False):