Всем привет! Я написал скрипт на emacs lisp, который умеет:
- Отправлять решения
- Загружать тесты
- Входить по логину/паролю
- Хранить куки между запусками
Все запросы делаются через curl
, и ответы обрабатываются руками. ссылка.
Установка
- Скачать скрипт.
- Добавить в свой файл
~/.emacs
код:
(add-to-list 'load-path "/папка/со/скриптом/")
(load "cf-keys.el")
Использование
C-c i
— ВходC-c o
— ВыходC-c w
— Узнать текущий хэндлC-c s
— Отправить открытый файлC-c d
— Загрузить тесты в текущую папку
Функции отправки и загрузки тестов "угадывают" номер контеста,задачу и язык программирования по имени открытого файла, понимают в таком виде:
directory/505/A/myfile.cpp
directory/505/a.c
directory/505a.cc
Настройка
В своем файле ~/.emacs
можно изменить значения по умолчанию для переменнных:
cf-default-language
— Язык по умолчанию. Одно из значений, определенных в файлеcf-languages.el
cf-host
— "codeforces.ru" или "codeforces.com"cf-cookies-file
— Файл, в которомcurl
будет хранить куки
Пример: (setq cf-cookies-file "/home/vasya/my_codeforces_cookies")
Комбинации клавиш можно поменять в конце файла cf-keys.el
.