'Parses banners XML, from
http://thetvdb.com/api/[APIKEY]/series/[SERIES ID]/banners.xml
Banners are retrieved using t[\'show name][\'_banners\'], for example:
>>> t = Tvdb(banners = True)
>>> t[\'scrubs\'][\'_banners\'].keys()
[\'fanart\', \'poster\', \'series\', \'season\']
>>> t[\'scrubs\'][\'_banners\'][\'poster\'][\'680x1000\'][\'35308\'][\'_bannerpath\']
u\'http://thetvdb.com/banners/posters/76156-2.jpg\'
Any key starting with an underscore has been processed (not the raw
data from the XML)
This interface will be improved in future versions.'

def _parseBanners(self, sid):

    log().debug(('Getting    season    banners    for    %s' % sid))
    bannersEt = self._getetsrc((self.config['url_seriesBanner'] % sid))
    if (not bannersEt):
        log().debug('Banners    result    returned    zero')
        return
    banners = {}
    for cur_banner in (bannersEt['banner'] if isinstance(bannersEt['banner'], list) else [bannersEt['banner']]):
        bid = cur_banner['id']
        btype = cur_banner['bannertype']
        btype2 = cur_banner['bannertype2']
        if ((btype is None) or (btype2 is None)):
            continue
        if (not (btype in banners)):
            banners[btype] = {}
        if (not (btype2 in banners[btype])):
            banners[btype][btype2] = {}
        if (not (bid in banners[btype][btype2])):
            banners[btype][btype2][bid] = {}
        for (k, v) in cur_banner.items():
            if ((k is None) or (v is None)):
                continue
            (k, v) = (k.lower(), v.lower())
            banners[btype][btype2][bid][k] = v
        for (k, v) in banners[btype][btype2][bid].items():
            if k.endswith('path'):
                new_key = ('_%s' % k)
                log().debug(('Transforming    %s    to    %s' % (k, new_key)))
                new_url = (self.config['url_artworkPrefix'] % v)
                banners[btype][btype2][bid][new_key] = new_url
    self._setShowData(sid, '_banners', banners)
