def _handleDownload(info, path=None, duration=None, bg=False):
    path = path or StreamUtils.getDownloadPath(use_default=True)
    if bg:
        downloader = StreamUtils.DownloadProgressBG
    else:
        downloader = StreamUtils.DownloadProgress

    with downloader(line1='Starting download...') as prog:

        try:
            setOutputCallback(prog.updateCallback)
            _setDownloadDuration(duration)
            result = download(info, util.TMP_PATH)
        finally:
            setOutputCallback(None)
            _setDownloadDuration(duration)

    if not result and result.status != 'canceled':
        StreamUtils.showMessage(StreamUtils.T(32013), result.message, bg=bg)
    elif result:
        StreamUtils.showMessage(StreamUtils.T(32011), StreamUtils.T(32012), '', result.filepath, bg=bg)
    filePath = result.filepath

    part = result.filepath + u'.part'
    try:
        if os.path.exists(part):
            os.rename(part, result.filepath)
    except UnicodeDecodeError:
        part = part.encode('utf-8')
        if os.path.exists(part):
            os.rename(part, result.filepath)

    StreamUtils.moveFile(filePath, path, filename=info.get('filename'))
    return result
Esempio n. 2
0
def _handleDownload(info,path=None,duration=None,bg=False):
    path = path or StreamUtils.getDownloadPath(use_default=True)
    if bg:
        downloader = StreamUtils.DownloadProgressBG
    else:
        downloader = StreamUtils.DownloadProgress

    with downloader(line1='Starting download...') as prog:

        try:
            setOutputCallback(prog.updateCallback)
            _setDownloadDuration(duration)
            result = download(info,util.TMP_PATH)
        finally:
            setOutputCallback(None)
            _setDownloadDuration(duration)

    if not result and result.status != 'canceled':
            StreamUtils.showMessage(StreamUtils.T(32013),result.message,bg=bg)
    elif result:
        StreamUtils.showMessage(StreamUtils.T(32011),StreamUtils.T(32012),'',result.filepath,bg=bg)
    filePath = result.filepath
    if os.path.exists(result.filepath + '.part'): os.rename(result.filepath + '.part',result.filepath)
    StreamUtils.moveFile(filePath,path,filename=info.get('filename'))
    return result
def handleDownload(vidinfo):
	"""
	Download the selected video in vidinfo to a path the user chooses.
	Displays a progress dialog and ok/error message when finished.
	Returns a DownloadResult object.
	"""
	path = StreamUtils.getDownloadPath()
	with StreamUtils.DownloadProgress() as prog:
		try:
			setOutputCallback(prog.updateCallback)
			result = downloadVideo(vidinfo,StreamUtils.TMP_PATH)
		finally:
			setOutputCallback(None)
	if not result and result.status != 'canceled':
			StreamUtils.showMessage(StreamUtils.T(32013),result.message)
	elif result:
		StreamUtils.showMessage(StreamUtils.T(32011),StreamUtils.T(32012),'',result.filepath)
	StreamUtils.moveFile(result.filepath,path)
	return result