示例#1
0
文件: utils.py 项目: pallav12/oj
def new_session_with_our_user_agent(
        *, path: pathlib.Path) -> Iterator[requests.Session]:
    session = requests.Session()
    session.headers['User-Agent'] = '{}/{} (+{})'.format(
        version.__package_name__, version.__version__, version.__url__)
    logger.debug('User-Agent: %s', session.headers['User-Agent'])
    with utils.with_cookiejar(session, path=path) as session:
        yield session
示例#2
0
文件: utils.py 项目: shuuji3/oj
def new_session_with_our_user_agent(*, path: pathlib.Path) -> Iterator[requests.Session]:
    session = requests.Session()
    session.headers['User-Agent'] = '{}/{} (+{})'.format(version.__package_name__, version.__version__, version.__url__)
    logger.debug('User-Agent: %s', session.headers['User-Agent'])
    try:
        with utils.with_cookiejar(session, path=path) as session:
            yield session
    except http.cookiejar.LoadError:
        logger.info(HINT + 'You can delete the broken cookie.jar file: %s', str(path))
        raise
示例#3
0
def generate_contest_directory(contest_id):
    contest = contest_from_url(ATCODER_URL + contest_id)
    contest_dir = Path(contest_id).resolve()
    contest_dir.mkdir()
    chdir(contest_dir)
    with with_cookiejar(requests.Session()) as sess:
        problems = contest.list_problems(session=sess)
    for i, problem in enumerate(problems):

        problem_url = problem.get_url()
        problem_dir = contest_dir.joinpath(chr(ord('a') + i))
        problem_dir.mkdir()
        chdir(problem_dir)
        command = ['pipenv', 'run', 'oj', 'download', problem_url]
        subprocess.run(command).check_returncode()
        problem_dir.joinpath('main.py').touch()
        time.sleep(1)
    chdir(contest_dir)