コード例 #1
0
 def test_hasChannel_False(self):
     channels = []
     for x in range(0,5):
         channels.append(Channel(
             {'chanid':x, 'channum':'%d'%x, 'callsign':'WXYZ', 
              'name':'NBC9', 'icon':'nbc.jpg', 'cardid':4}))
     when(self.domainCache).getChannels().thenReturn(channels)
     self.assertFalse(self.tuner.hasChannel(Channel(dict(channum='6'))))
コード例 #2
0
 def getChannels(self):
     """
     @return: cached list of viewable channels across all tuners.
     @rtype: Channel[]
     """
     sql = """
         select
             ch.chanid, 
             ch.channum, 
             ch.callsign, 
             ch.name, 
             ch.icon, 
             ci.cardid
         from 
             channel ch,
             cardinput ci 
         where 
             ch.channum is not null
             and ch.channum != ''
             and ch.visible = 1
             and ch.sourceid = ci.sourceid
         order by 
             ch.chanid
         """
     self.cursor.execute(sql)
     rows = map(lambda r: self.toDict(self.cursor, r), self.cursor.fetchall())
     from mythbox.mythtv.domain import Channel
     channels = map(lambda rd: Channel(rd), rows)
     return channels
コード例 #3
0
ファイル: test_domain.py プロジェクト: bopopescu/mythbox-1
 def test_constructor_IconMissing(self):
     channel = Channel({
         'chanid': 9,
         'channum': '23_1',
         'callsign': 'WXYZ',
         'name': 'NBC9',
         'cardid': 4
     })
     log.debug(channel)
     self.assertTrue(channel.getIconPath() is None)
コード例 #4
0
ファイル: test_domain.py プロジェクト: bopopescu/mythbox-1
 def test_getSortableChannelNumber_When_channel_number_doesnt_seem_like_a_number_Then_return_channel_id(
         self):
     number = Channel({
         'chanid': 9,
         'channum': '23/4',
         'callsign': 'WXYZ',
         'name': 'NBC9',
         'cardid': 4
     }).getSortableChannelNumber()
     log.debug('Sortable channel number = %s' % number)
     self.assertEqual(9, number)
コード例 #5
0
ファイル: test_domain.py プロジェクト: bopopescu/mythbox-1
 def test_getSortableChannelNumber_When_channel_number_contains_dot_Then_return_channel_number_as_float(
         self):
     number = Channel({
         'chanid': 9,
         'channum': '23.4',
         'callsign': 'WXYZ',
         'name': 'NBC9',
         'cardid': 4
     }).getSortableChannelNumber()
     log.debug('Sortable channel number = %s' % number)
     self.assertEqual(23.4, number)
コード例 #6
0
ファイル: test_domain.py プロジェクト: bopopescu/mythbox-1
 def test_constructor(self):
     channel = Channel({
         'chanid': 9,
         'channum': '23_1',
         'callsign': 'WXYZ',
         'name': 'NBC9',
         'icon': 'nbc.jpg',
         'cardid': 4
     })
     log.debug(channel)
     self.assertTrue(channel)
コード例 #7
0
ファイル: test_domain.py プロジェクト: bopopescu/mythbox-1
 def test_getSortableChannelNumber_When_channel_number_is_already_sortable_Then_return_channel_number(
         self):
     channel = Channel({
         'chanid': 9,
         'channum': '23',
         'callsign': 'WXYZ',
         'name': 'NBC9',
         'cardid': 4
     })
     log.debug('Sortable channel number = %s' %
               channel.getSortableChannelNumber())
     self.assertEqual(23, channel.getSortableChannelNumber())
コード例 #8
0
    def test_getChannels_CachingWorks(self):
        channels = []
        for x in range(0,5):
            channels.append(Channel(
                {'chanid':x, 'channum':'%d'%x, 'callsign':'WXYZ', 
                 'name':'NBC9', 'icon':'nbc.jpg', 'cardid':4}))

        when(self.domainCache).getChannels().thenReturn(channels)
        
        for x in range(10):
            channels = self.tuner.getChannels()
        
        verify(self.domainCache, 1).getChannels()
コード例 #9
0
ファイル: test_resolver.py プロジェクト: bopopescu/mythbox-1
    def test_store_When_channel_has_no_icon_Then_do_nothing(self):
        # Setup
        channel = Channel({
            'name': 'Bogus Channel',
            'icon': None,
            'chanid': '9',
            'callsign': 'WXYZ'
        })
        conn = Mock()
        downloader = MythChannelIconResolver(conn)

        # Test
        downloader.store(channel, 'bogusDestDir')

        # Verify
        verifyZeroInteractions(conn)
コード例 #10
0
ファイル: test_livetv.py プロジェクト: bopopescu/mythbox-1
    def testConstructor(self):
        
        fanArt = Mock()
        when(fanArt).pickPoster(any()).thenReturn(None)
        
        kwargs = {}
        kwargs['settings'] = Mock()
        kwargs['translator'] = Mock()
        kwargs['mythChannelIconCache'] = Mock()
        kwargs['platform'] = Mock()
        kwargs['fanArt'] = fanArt
        args = ()
        win = LiveTvWindow(*args, **kwargs)
        
        channels = []
        for i in range(10):
            c = Channel({
                'chanid':i, 
                'channum': '%d' % (i*2), 
                'name': 'name%d' % i, 
                'callsign':'callsign%d'%i
            })
            channels.append(c)
        
        db = Mock()
        when(db).getChannels().thenReturn(channels)
        
        programs = []
        for i in range(10):
            p = TVProgram({
                'title': 'title%d' % i, 
                'chanid':i,
                'description':'desc%d'%i,
                'category':'cat%d'%i}, 
                translator=Mock()) 
            programs.append(p)
            
        when(db).getTVGuideDataFlattened(any(), any(), any()).thenReturn(programs)
        
        dbFactory = Mock()
        when(dbFactory).create().thenReturn(db)

        from mythbox import pool    
        pool.pools['dbPool'] = pool.Pool(dbFactory)
        
        win.onInit()
        win.onClick(self, 600)
コード例 #11
0
ファイル: test_resolver.py プロジェクト: bopopescu/mythbox-1
    def test_store_When_channel_has_iconpath_but_filename_misspelled_Then_do_nothing(
            self):
        # Setup
        channel = Channel({
            'name': 'Bogus Channel',
            'icon': 'bogusIcon.png',
            'chanid': '9',
            'callsign': 'WXYZ'
        })
        downloader = MythChannelIconResolver(self.conn)

        # Test - download icons for first 5 channels
        dest = os.path.sep.join([
            tempfile.gettempdir(),
            str(channel.getChannelId()) + channel.getCallSign() +
            str(time.time()) + ".png"
        ])
        downloader.store(channel, dest)

        # Verify
        self.assertFalse(os.path.exists(dest))