Ejemplo n.º 1
0
def find_downloads(args, config):
    """Finds available downloads"""

    episode_db = EpisodeDatabase.load_from_cache(config)
    from_date = datetime.strptime(args.fromdate, "%Y-%m-%d")
    to_date = datetime.strptime(args.todate, "%Y-%m-%d")

    if args.update_metadata:
        episode_db.update_all_tracked_series()
        episode_db.save_to_cache()

    print(
        f"Searching for downloads between {from_date:%Y-%m-%d} and {to_date:%Y-%m-%d}"
    )
    searches_to_perform = get_search_strings(from_date, to_date, episode_db,
                                             config.metadata)

    print("")
    if args.dry_run:
        print(
            "Dry run requested. Not performing searches. Searches to perform:")
        for search in searches_to_perform:
            print(search["query"])
    else:
        if args.create_jobs:
            job_queue = JobQueue(config)
            for search in searches_to_perform:
                job_queue.create_job(search["keyword"], search["query"],
                                     search["download_only"])
        else:
            search_for_torrents(searches_to_perform, args.retry_count,
                                args.directory)
Ejemplo n.º 2
0
def create_job(args, config):
    """Creates a new queued job"""

    job_queue = JobQueue(config)
    job = job_queue.create_job(args.keyword, args.search_term)
    job.save(logging.getLogger())