예제 #1
0
def get_parade(genre=None):

    out = '<paradePreview inOrder="true">\n'


    parade = media_db.get_items(type='Movie', num_random=7, genre=genre)
    for movie in parade:
        movie['artfile'] = quote(movie['artfile'])
        out += '          <image>http://__HOSTNAME__/images/artwork/%(artfile)s</image>\n' % movie

    out += '</paradePreview>\n'

    return out
예제 #2
0
def film_grid(genre=None, recent=None, unwatched=None, favorite=False, title='Movies'):

    out = '''
    <scroller id="com.sample.movie-grid">
      <header>
        <simpleHeader accessibilityLabel="Simple Movies">
          <title>%s</title>
          <image required="true">http://__HOSTNAME__/pi/images/DASnet-atv.png</image>
        </simpleHeader>
      </header>
      <items>
        <grid id="grid_0">
          <items>
    ''' % title

    movies = media_db.get_items('Movie', genre=genre, favorite=favorite)

    i = 0
    for movie in movies:
        i += 1
        movie['item_num'] = i
        movie['artfile'] = quote(movie['artfile'])        
        out += '''
            <moviePoster id="grid_item_%(item_num)s" accessibilityLabel="%(title)s" 
                onSelect="atv.loadURL('http://__HOSTNAME__/movie/detail/%(id)s');" 
                onPlay="atv.loadURL('http://__HOSTNAME__/movie/play/%(id)s');">
              <title>%(title)s</title>
              <image>http://__HOSTNAME__/images/artwork/%(artfile)s</image>
              <defaultImage>resource://Poster.png</defaultImage>
            </moviePoster>
        ''' % movie



    out += '''
          </items>
        </grid>
      </items>
    </scroller>
'''
    return out
예제 #3
0
def detail(id):
    movie = media_db.get_item(id)
    favorite = movie['favorite']
    movie['artfile'] = quote(movie['artfile'])
    out = '''
    <itemDetail id="com.sample.movie-detail">
      <title>%(title)s</title>
      <subtitle>%(studio)s</subtitle>
      <rating>%(rating)s</rating>
      <summary>%(desc)s</summary>
      <image style="moviePoster">http://__HOSTNAME__/images/artwork/%(artfile)s</image>
      <defaultImage>resource://Poster.png</defaultImage>
    ''' % movie

    cols = '''
<columnDefinition width="25" alignment="left">
<title>Details</title>
</columnDefinition>
'''
    row_data = []
    row_data.append([movie['genre']])
    if len(movie['actors']) > 0:
      row_data.append(movie['actors'].split(',')[0:4])
      cols += '''
<columnDefinition width="25" alignment="left">
<title>Actors</title>
</columnDefinition>
'''

    if len(movie['directors']) > 0:
        row_data.append(movie['directors'].split(',')[0:4])
        cols += '''
<columnDefinition width="25" alignment="left">
<title>Directors</title>
</columnDefinition>
'''
  
    if len(movie['producers']) > 0:
        row_data.append(movie['producers'].split(',')[0:4])
        cols += '''
<columnDefinition width="25" alignment="left">
<title>Producers</title>
</columnDefinition>
'''

    out += '''
    <table>
    <columnDefinitions>
    %s
    </columnDefinitions>
    <rows>
    ''' % cols


    for r in range(0,4):
        out += '<row>\n'
        for c in row_data:
            if r < len(c):
                out += '<label>%s</label>\n' % c[r]
            else:
                out += '<label/>\n'
        out += '</row>\n'

    out += '</rows>\n</table>\n'

    out += '''
<centerShelf>
<shelf id="centerShelf" columnCount="4" center="true">
<sections>
<shelfSection>
<items>

<actionButton id="play" onSelect="atv.loadURL('http://__HOSTNAME__/movie/play/%(id)s');" 
onPlay="atv.loadURL('http://__HOSTNAME__/movie/play/%(id)s');">
<title>Play</title>
<image>resource://Play.png</image>
<focusedImage>resource://PlayFocused.png</focusedImage>
<badge>HD</badge>
</actionButton>

<actionButton id="favorite" onSelect="atv.loadURL('http://__HOSTNAME__/media/toggle_favorite/%(id)s');">
<title>Favorite</title>
''' % movie

    if favorite:
      out += '''
<image>resource://WishListFocused.png</image>
<focusedImage>resource://WishList.png</focusedImage>
'''
    else:
      out += '''
<image>resource://WishList.png</image>
<focusedImage>resource://WishListFocused.png</focusedImage>
'''


    out += '''
</actionButton>

</items>
</shelfSection>
</sections>
</shelf>
</centerShelf>
''' % movie

    out += '''
<divider>
<smallCollectionDivider alignment="left">
<title>%(genre)s</title>
</smallCollectionDivider>
</divider>
<bottomShelf>
<shelf id="bottomShelf" columnCount="8">


<sections>
<shelfSection>
<items>
''' % movie

    related_movies = media_db.get_items(genre=movie['id'], num_random=8, type='Movie')

    i = 1
    for r_movie in related_movies:
        r_movie['item_id'] = i
        i += 1
        r_movie['artfile'] = quote(r_movie['artfile'])

        out += '''
<moviePoster id="%(item_id)s" accessibilityLabel="%(title)s" related="true" 
onSelect="atv.loadURL('http://__HOSTNAME__/movie/detail/%(id)s');" 
onPlay="atv.loadURL('http://__HOSTNAME__/movie/play/%(id)s')">
<title>%(title)s</title>
<image>http://__HOSTNAME__/images/artwork/%(artfile)s</image>
<defaultImage>resource://Poster.png</defaultImage>
</moviePoster>
''' % r_movie

    out += '''
</items>
</shelfSection>
</sections>
</shelf>
</bottomShelf>

'''

    out += '''
      </itemDetail>
'''


    return out