Esempio n. 1
0
def add_task(
    api: BaiduPCSApi,
    task_url: str,
    remotedir: str,
    file_types: List[FileType] = [FileType.Media],
):
    if is_magnet(task_url):
        logger.warning("Add cloud task: magnet: %s", task_url)

        pmfs = api.magnet_info(task_url)
        selected_idx = []
        for idx, pmf in enumerate(pmfs, 1):
            ext = os.path.splitext(pmf.path)[-1]
            for file_type in file_types:
                if file_type.sift(ext):
                    selected_idx.append(idx)
                    break

        if not selected_idx:
            logger.warning("`add_task`: No selected idx for %s", task_url)
            return

        task_id = api.add_magnet_task(task_url, remotedir, selected_idx)
        tasks(api, task_id)
    else:
        logger.warning("Add cloud task: %s", task_url)
        task_id = api.add_task(task_url, remotedir)
Esempio n. 2
0
def add_task(api: BaiduPCSApi, task_url: str, remotedir: str):
    task_id = api.add_task(task_url, remotedir)
    tasks(api, task_id)