'Creates an elementTree XML structure for a MediaBrowser-style series.xml
returns the resulting data object.
show_obj: a TVShow instance to create the NFO for'

def _show_data(self, show_obj):

    indexer_lang = (show_obj.lang or sickrage.srCore.srConfig.INDEXER_DEFAULT_LANGUAGE)
    lINDEXER_API_PARMS = srIndexerApi(show_obj.indexer).api_params.copy()
    lINDEXER_API_PARMS[u'language'] = indexer_lang
    if (show_obj.dvdorder != 0):
        lINDEXER_API_PARMS[u'dvdorder'] = True
    t = srIndexerApi(show_obj.indexer).indexer(**lINDEXER_API_PARMS)
    rootNode = Element(u'details')
    tv_node = SubElement(rootNode, u'movie')
    tv_node.attrib[u'isExtra'] = u'false'
    tv_node.attrib[u'isSet'] = u'false'
    tv_node.attrib[u'isTV'] = u'true'
    try:
        myShow = t[int(show_obj.indexerid)]
    except indexer_shownotfound:
        sickrage.srCore.srLogger.error(((u'Unable    to    find    show    with    id    ' + str(show_obj.indexerid)) + u'    on    tvdb,    skipping    it'))
        raise
    except indexer_error:
        sickrage.srCore.srLogger.error(u"TVDB    is    down,    can't    use    its    data    to    make    the    NFO")
        raise
    if (not (getattr(myShow, u'seriesname', None) and getattr(myShow, u'id', None))):
        sickrage.srCore.srLogger.info(((((u'Incomplete    info    for    show    with    id    ' + str(show_obj.indexerid)) + u'    on    ') + srIndexerApi(show_obj.indexer).name) + u',    skipping    it'))
        return False
    SeriesName = SubElement(tv_node, u'title')
    SeriesName.text = myShow[u'seriesname']
    if getattr(myShow, u'genre', None):
        Genres = SubElement(tv_node, u'genres')
        for genre in myShow[u'genre'].split(u'|'):
            if (genre and genre.strip()):
                cur_genre = SubElement(Genres, u'Genre')
                cur_genre.text = genre.strip()
    if getattr(myShow, u'firstaired', None):
        FirstAired = SubElement(tv_node, u'premiered')
        FirstAired.text = myShow[u'firstaired']
    if getattr(myShow, u'firstaired', None):
        try:
            year_text = str(datetime.datetime.strptime(myShow[u'firstaired'], dateFormat).year)
            if year_text:
                year = SubElement(tv_node, u'year')
                year.text = year_text
        except Exception:
            pass
    if getattr(myShow, u'overview', None):
        plot = SubElement(tv_node, u'plot')
        plot.text = myShow[u'overview']
    if getattr(myShow, u'rating', None):
        try:
            rating = int((float(myShow[u'rating']) * 10))
        except ValueError:
            rating = 0
        if rating:
            Rating = SubElement(tv_node, u'rating')
            Rating.text = str(rating)
    if getattr(myShow, u'status', None):
        Status = SubElement(tv_node, u'status')
        Status.text = myShow[u'status']
    if getattr(myShow, u'contentrating', None):
        mpaa = SubElement(tv_node, u'mpaa')
        mpaa.text = myShow[u'contentrating']
    if getattr(myShow, u'imdb_id', None):
        imdb_id = SubElement(tv_node, u'id')
        imdb_id.attrib[u'moviedb'] = u'imdb'
        imdb_id.text = myShow[u'imdb_id']
    if getattr(myShow, u'id', None):
        indexerid = SubElement(tv_node, u'indexerid')
        indexerid.text = myShow[u'id']
    if getattr(myShow, u'runtime', None):
        Runtime = SubElement(tv_node, u'runtime')
        Runtime.text = myShow[u'runtime']
    if getattr(myShow, u'_actors', None):
        cast = SubElement(tv_node, u'cast')
        for actor in myShow[u'_actors']:
            if ((u'name' in actor) and actor[u'name'].strip()):
                cur_actor = SubElement(cast, u'actor')
                cur_actor.text = actor[u'name'].strip()
    indentXML(rootNode)
    data = ElementTree(rootNode)
    return data
