Всем доброго дня и здравия. Думаю, многие на этом сайте слышали про инструмент для подготовки задач, разработкой которого занимается MikeMirzayanov. Имя ему — polygon.
Polygon имеет много приемуществ — автоматические проверки почти всего, что только можно проверить. Но есть и несколько достаточно раздражающих особенностей. Наиболее некомфортная для меня — необходимость вручную синхронизировать решения и генераторы между локальной копией и полигоном. Поэтому я написал утилиту, которая может помочь упростить многим жизнь.
Утилита опубликована на github вместе с инструкциями по установке. Буду рад любым новым фичам и предложениям.
Известные проблемы:
- Код протестирован не достаточно хорошо, могут быть баги.
- Устанавливающий скрипт иногда ведет себя странно. Буду рад советам всех тех, кто лучше меня знает питон. Также вызывает интерес, какие бывают более удобные способы распространения.
- Иногда потеря сессии не обнаруживается и скрипт падает со странными ошибками, relogin помогает излечить эту проблему.
- Парсинг html страниц может быть недостаточно устойчив к изменениям в полигоне. С нетерпением ждем более хорошего api от MikeMirzayanov и команды Сodeforces.
Thank you!
For me, it will be comfortable to put all the files in a single folder (without solutions/ and src/) + also process resources in the same way as files/solutions.
And
update
oninit
will be nice.It seems running
polygon-cli
in solutions/ directory causes an errorNo session known. Use relogin or init first.
Is any way to run something like
polygon-cli status
andpolygon-cli diff [file]
?Answering to all three at time.
About the installation: try adding your package to PyPI. That way the package may be installed (together with all dependencies) in a single command like
pip install polygon-cli
.Btw, what kind of failures do you see with
setup.py
? If it's on Windows, it may be UAC which may require elevation in order to create scripts inPython34\Scripts
I second this, that way
requirements.txt
will be created as well, which lists the packages your package depends on, so that you do not have to install them manually.Ошибка в переводе: слышали пр инструмент вместо слышали про инструмент
Fixed. Лучше такие вещи писать в личку.
Автокомментарий: текст был обновлен пользователем PavelKunyavskiy (предыдущая версия, новая версия, сравнить).
Надо полагать, фичи
What's with the "Installation script working strange" ? I think I can help.
For me, it works fine. But i had tested on several friends, before publishing here. Some of them had requirements not installed automatically. Some had errors on imports of local files while running. Second issue was probably fixed by changing
import xxx
tofrom . import xxx
, but i'm not sure it's good way.I have had that second issue before and I think that the only way to use custom libraries over a console script installation is using the '.' syntax. We can accept SystemError in case of absolute import failure to revert back to real import.
I will install your script and see how it works on my system.
This tool is amazing. Thank you so much.
I'm trying to use this tool, since I'd prefer it over the polygon webinterface. But I noticed that the problem statement does not get downloaded, and it seems that this is because it is not exposed by the polygon API. Am I correct? It would be great if that were possible!
As a side note: since polygon internally seems to use a version control system, why can't that be exposed as well, next to the API? Either read-only, or even better: read/write with commit-hooks checking that updates adhere to the internal data format of polygon.
При импорте из архива не добавляются баллы за тесты и зависимости групп (в xml они есть). Это не предусмотрено или я что-то делаю не так? Баллы есть при генерации тестов из скрипта, но его как раз нет, есть готовые тесты в архиве.