Beispiel #1
0
    def __init__(self, defaultFilters):
        photoDisplayType = PhotoDisplayType()
        super(WhoMadeThisAlbumQuestion, self).__init__(photoDisplayType)

        correctAnswer = library.getArtists().withFilters(
            defaultFilters).limitTo(1).asItem()
        artist = library.getArtistDetails(correctAnswer['artistid'],
                                          ['thumbnail']).asItem()
        album = library.getAlbums(
            ['title', 'fanart',
             'thumbnail']).withFilters(defaultFilters).withArtist(
                 correctAnswer['artist']).limitTo(1).asItem()
        if not correctAnswer or not album:
            raise QuestionException('No artist or album found')

        self.addCorrectAnswer(id=correctAnswer['artistid'],
                              text=correctAnswer['artist'],
                              image=artist['thumbnail'])

        # Fill with random artists
        theRest = library.getArtists().withFilters(
            defaultFilters).withoutArtist(
                correctAnswer['artist']).limitTo(4 -
                                                 len(self.answers)).asList()
        for item in theRest:
            artist = library.getArtistDetails(item['artistid'],
                                              ['thumbnail']).asItem()
            self.addAnswer(id=item['artist'],
                           text=item['artist'],
                           image=artist['thumbnail'])

        random.shuffle(self.answers)
        self.text = strings(Q_WHO_MADE_THE_ALBUM, album['title'])
        photoDisplayType.setPhotoFile(album['thumbnail'])
        self.setFanartFile(album['fanart'])
Beispiel #2
0
    def __init__(self, defaultFilters):
        audioDisplayType = AudioDisplayType()
        super(WhoMadeThisSongQuestion, self).__init__(audioDisplayType)

        correctAnswer = library.getArtists().withFilters(
            defaultFilters).limitTo(1).asItem()
        artist = library.getArtistDetails(correctAnswer['artistid'],
                                          ['thumbnail']).asItem()
        song = library.getSongs(
            ['title', 'file']).withFilters(defaultFilters).withArtist(
                correctAnswer['artist']).limitTo(1).asItem()
        if not correctAnswer or not song:
            raise QuestionException('No artist or song found')

        self.addCorrectAnswer(id=correctAnswer['artistid'],
                              text=correctAnswer['artist'],
                              image=artist['thumbnail'])

        # Fill with random artists
        theRest = library.getArtists().withFilters(
            defaultFilters).withoutArtist(
                correctAnswer['artist']).limitTo(4 -
                                                 len(self.answers)).asList()
        for item in theRest:
            artist = library.getArtistDetails(item['artistid'],
                                              ['thumbnail']).asItem()
            self.addAnswer(id=item['artist'],
                           text=item['artist'],
                           image=artist['thumbnail'])

        random.shuffle(self.answers)
        self.text = strings(Q_WHO_MADE_THE_SONG, song['title'])
        audioDisplayType.setAudioFile(song['file'])
Beispiel #3
0
    def __init__(self, defaultFilters):
        audioDisplayType = AudioDisplayType()
        super(WhatSongIsThisQuestion, self).__init__(audioDisplayType)

        correctAnswer = library.getSongs(
            ['title', 'artist', 'artistid', 'file',
             'thumbnail']).withFilters(defaultFilters).limitTo(1).asItem()
        if not correctAnswer:
            raise QuestionException('No songs found')

        self.addCorrectAnswer(id=correctAnswer['file'],
                              text=correctAnswer['title'],
                              image=correctAnswer['thumbnail'])

        # Fill with random songs
        theRest = library.getSongs(
            ['title', 'artist',
             'thumbnail']).withFilters(defaultFilters).excludeTitles(
                 self.getAnswerTexts()).withArtist(
                     correctAnswer['artist'][0]).limitTo(
                         4 - len(self.answers)).asList()
        for song in theRest:
            self.addAnswer(id=-1, text=song['title'], image=song['thumbnail'])

        random.shuffle(self.answers)
        self.text = strings(Q_WHAT_SONG_IS_THIS, correctAnswer['artist'][0])
        audioDisplayType.setAudioFile(correctAnswer['file'])

        artist = library.getArtistDetails(correctAnswer['artistid'][0],
                                          ['fanart']).asItem()
        self.setFanartFile(artist['fanart'])
Beispiel #4
0
    def __init__(self, defaultFilters):
        audioDisplayType = AudioDisplayType()
        super(WhoMadeThisSongQuestion, self).__init__(audioDisplayType)

        correctAnswer = library.getArtists().withFilters(defaultFilters).limitTo(1).asItem()
        artist = library.getArtistDetails(correctAnswer['artistid'], ['thumbnail']).asItem()
        song = library.getSongs(['title', 'file']).withFilters(defaultFilters).withArtist(correctAnswer['artist']).limitTo(1).asItem()
        if not correctAnswer or not song:
            raise QuestionException('No artist or song found')

        self.addCorrectAnswer(id=correctAnswer['artistid'], text=correctAnswer['artist'], image=artist['thumbnail'])

        # Fill with random artists
        theRest = library.getArtists().withFilters(defaultFilters).withoutArtist(correctAnswer['artist']).limitTo(4 - len(self.answers)).asList()
        for item in theRest:
            artist = library.getArtistDetails(item['artistid'], ['thumbnail']).asItem()
            self.addAnswer(id=item['artist'], text=item['artist'], image=artist['thumbnail'])

        random.shuffle(self.answers)
        self.text = strings(Q_WHO_MADE_THE_SONG, song['title'])
        audioDisplayType.setAudioFile(song['file'])
Beispiel #5
0
    def __init__(self, defaultFilters):
        photoDisplayType = PhotoDisplayType()
        super(WhoMadeThisAlbumQuestion, self).__init__(photoDisplayType)

        correctAnswer = library.getArtists().withFilters(defaultFilters).limitTo(1).asItem()
        artist = library.getArtistDetails(correctAnswer['artistid'], ['thumbnail']).asItem()
        album = library.getAlbums(['title', 'fanart', 'thumbnail']).withFilters(defaultFilters).withArtist(correctAnswer['artist']).limitTo(1).asItem()
        if not correctAnswer or not album:
            raise QuestionException('No artist or album found')

        self.addCorrectAnswer(id=correctAnswer['artistid'], text=correctAnswer['artist'], image=artist['thumbnail'])

        # Fill with random artists
        theRest = library.getArtists().withFilters(defaultFilters).withoutArtist(correctAnswer['artist']).limitTo(4 - len(self.answers)).asList()
        for item in theRest:
            artist = library.getArtistDetails(item['artistid'], ['thumbnail']).asItem()
            self.addAnswer(id=item['artist'], text=item['artist'], image=artist['thumbnail'])

        random.shuffle(self.answers)
        self.text = strings(Q_WHO_MADE_THE_ALBUM, album['title'])
        photoDisplayType.setPhotoFile(album['thumbnail'])
        self.setFanartFile(album['fanart'])
Beispiel #6
0
    def __init__(self, defaultFilters):
        audioDisplayType = AudioDisplayType()
        super(WhatSongIsThisQuestion, self).__init__(audioDisplayType)

        correctAnswer = library.getSongs(['title', 'artist', 'artistid', 'file', 'thumbnail']).withFilters(defaultFilters).limitTo(1).asItem()
        if not correctAnswer:
            raise QuestionException('No songs found')

        self.addCorrectAnswer(id=correctAnswer['file'], text=correctAnswer['title'], image=correctAnswer['thumbnail'])

        # Fill with random songs
        theRest = library.getSongs(['title', 'artist', 'thumbnail']).withFilters(defaultFilters).excludeTitles(
            self.getAnswerTexts()).withArtist(correctAnswer['artist'][0]).limitTo(4 - len(self.answers)).asList()
        for song in theRest:
            self.addAnswer(id=-1, text=song['title'], image=song['thumbnail'])

        random.shuffle(self.answers)
        self.text = strings(Q_WHAT_SONG_IS_THIS, correctAnswer['artist'][0])
        audioDisplayType.setAudioFile(correctAnswer['file'])

        artist = library.getArtistDetails(correctAnswer['artistid'][0], ['fanart']).asItem()
        self.setFanartFile(artist['fanart'])