'Get popular show information from IMDB'

def fetch_popular_shows(self):

    popular_shows = []
    data = helpers.getURL(self.url, session=self.session, params=self.params, headers={u'Referer': u'http://akas.imdb.com/'}, returns=u'text')
    if (not data):
        return None
    soup = BeautifulSoup(data, u'html5lib')
    results = soup.find_all(u'div', {u'class': u'lister-item'})
    for row in results:
        show = {}
        image_div = row.find(u'div', {u'class': u'lister-item-image'})
        if image_div:
            image = image_div.find(u'img')
            show[u'image_url_large'] = self.change_size(image[u'loadlate'], 3)
            show[u'imdb_tt'] = image[u'data-tconst']
            show[u'image_path'] = ek(posixpath.join, u'images', u'imdb_popular', ek(os.path.basename, show[u'image_url_large']))
            self.cache_image(show[u'image_url_large'])
        content = row.find(u'div', {u'class': u'lister-item-content'})
        if content:
            header = row.find(u'h3', {u'class': u'lister-item-header'})
            if header:
                a_tag = header.find(u'a')
                if a_tag:
                    show[u'name'] = a_tag.get_text(strip=True)
                    show[u'imdb_url'] = (u'http://www.imdb.com' + a_tag[u'href'])
                    show[u'year'] = header.find(u'span', {u'class': u'lister-item-year'}).contents[0].split(u'    ')[0][1:].strip(u'-')
            imdb_rating = row.find(u'div', {u'class': u'ratings-imdb-rating'})
            show[u'rating'] = (imdb_rating[u'data-value'] if imdb_rating else None)
            votes = row.find(u'span', {u'name': u'nv'})
            show[u'votes'] = (votes[u'data-value'] if votes else None)
            outline = content.find_all(u'p', {u'class': u'text-muted'})
            if (outline and (len(outline) >= 2)):
                show[u'outline'] = outline[1].contents[0].strip(u'"')
            else:
                show[u'outline'] = u''
            popular_shows.append(show)
    return popular_shows
