web_get_iplayer.py 文件源码

python
阅读 17 收藏 0 点赞 0 评论 0

项目:web_get_iplayer 作者: speculatrix 项目源码 文件源码
def page_transcode_inode(p_submit, p_inode, p_trnscd_cmd_method, p_trnscd_rez):
    """scan the downloaded list of files and transcode any whose inode matches
    one in the list"""

    print 'transcoding files with inode %s\n<br />' % (p_inode, )

    if p_submit == '' or p_submit != 'Transcode' or p_trnscd_cmd_method == '':
        print '<p>Confirm transcode options:</p>'
        print '<form method="get" action="">'
        print '<select name="trnscd_cmd_method">\n'
        print '    <option value="trnscd_cmd_video">%s</option>' % (my_settings.get(SETTINGS_SECTION, 'trnscd_cmd_video'), )
        print '    <option value="trnscd_cmd_audio">%s</option>' % (my_settings.get(SETTINGS_SECTION, 'trnscd_cmd_audio'), )
        print '</select>\n<br />'
        print_select_resolution()
        print '<br />'

        print '<input type="hidden" name="inode" value="%s">' % (p_inode, )
        print '<input type="hidden" name="page" value="transcode_inode">'
        print '<input type="submit" name="submit" value="Transcode">'
        print '</form>'
    else:
        file_list = os.listdir(my_settings.get(SETTINGS_SECTION, 'iplayer_directory'))
        for file_name in sorted(file_list):
            full_file_name = os.path.join(my_settings.get(SETTINGS_SECTION, 'iplayer_directory'), file_name)
            file_root, file_extension = os.path.splitext(full_file_name)
            file_root = file_root.replace('original', 'transcoded')
            file_root = file_root.replace('default', 'transcoded')
            file_root = file_root.replace('editorial', 'transcoded')
            file_stat = os.stat(full_file_name)
            #print 'considering file %s which has inode %d\n<br >' % (full_file_name, file_stat[stat.ST_INO], )
            if str(file_stat[stat.ST_INO]) == p_inode:
                rezopts = ''
                fnameadd = ''
                if p_trnscd_rez != '' and p_trnscd_rez != 'original':
                    rezopts = ' -s %s' % (p_trnscd_rez, )
                    fnameadd = '-%s' % (p_trnscd_rez, )

                #full_file_mp4 = '%s.mp4' % ( os.path.splitext(full_file_name)[0], )
                cmd = "%s %s %s %s%s.%s 2>&1" % (my_settings.get(SETTINGS_SECTION, p_trnscd_cmd_method), rezopts, full_file_name, file_root, fnameadd, TRANSCODE_COMMANDS[p_trnscd_cmd_method]['outext'], )
                #print 'file %s is being transcoded with command %s\n<br ><pre>\n' % (full_file_name, cmd, )
                print 'file transcoding<pre>\n%s\n' % (cmd, )
                sys.stdout.flush()
                sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0) # capture stdout
                sys.stderr = os.fdopen(sys.stderr.fileno(), 'w', 0) # and stderr
                os.system(cmd)
                print '</pre>'
                print '<p>Finished!</p>'





#####################################################################################################################
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号