コード例 #1
0
    def test_finished_rtmp(self):
        conf = Config()
        conf.COMMANDS.rtmpdump = '/bin/true'
        conf.COMMANDS.ffmpeg = '/bin/true'
        downloads = Download(conf, [])

        file_record = FileRecord(Fileinfo('rtmp://foo', Rtypes.RTMP))
        proc_info = downloads.spawn(file_record)
        self.assertEqual(proc_info, Procinfo(proc_info.proc, file_record))
        self.assertEqual(file_record.rec, [Fileinfo('rtmp://foo', Rtypes.RTMP),
                                           Fileinfo('foo.flv', Ftypes.FLV,
                                                    'Download', Ftypes.MP3)])
        os.chdir(os.path.dirname(__file__))
        open('foo.flv.part', 'w')
        while proc_info.proc.poll() is None:
            time.sleep(0.05)

        ret = downloads.finished_handler(proc_info)
        os.remove('foo.flv')
        self.assertEqual(ret, 0)
        self.assertEqual(downloads.out[MsgTypes.finished].msglist[0][0], 'foo.flv')
        self.assertEqual(downloads.finished_ready[0], file_record)