Блог пользователя PavelKunyavskiy

Автор PavelKunyavskiy, история, 11 лет назад, перевод, По-русски

Всем доброго дня и здравия. Думаю, многие на этом сайте слышали про инструмент для подготовки задач, разработкой которого занимается MikeMirzayanov. Имя ему — polygon.

Polygon имеет много приемуществ — автоматические проверки почти всего, что только можно проверить. Но есть и несколько достаточно раздражающих особенностей. Наиболее некомфортная для меня — необходимость вручную синхронизировать решения и генераторы между локальной копией и полигоном. Поэтому я написал утилиту, которая может помочь упростить многим жизнь.

Утилита опубликована на github вместе с инструкциями по установке. Буду рад любым новым фичам и предложениям.

Известные проблемы:

  • Код протестирован не достаточно хорошо, могут быть баги.
  • Устанавливающий скрипт иногда ведет себя странно. Буду рад советам всех тех, кто лучше меня знает питон. Также вызывает интерес, какие бывают более удобные способы распространения.
  • Иногда потеря сессии не обнаруживается и скрипт падает со странными ошибками, relogin помогает излечить эту проблему.
  • Парсинг html страниц может быть недостаточно устойчив к изменениям в полигоне. С нетерпением ждем более хорошего api от MikeMirzayanov и команды Сodeforces.
  • Проголосовать: нравится
  • +192
  • Проголосовать: не нравится

»
11 лет назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

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.

»
11 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится +8 Проголосовать: не нравится

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 in Python34\Scripts

»
11 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Ошибка в переводе: слышали пр инструмент вместо слышали про инструмент

»
11 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Автокомментарий: текст был обновлен пользователем PavelKunyavskiy (предыдущая версия, новая версия, сравнить).

»
11 лет назад, скрыть # |
 
Проголосовать: нравится -6 Проголосовать: не нравится

Код протестирован не достаточно хорошо, могут быть баги

Надо полагать, фичи

»
11 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

What's with the "Installation script working strange" ? I think I can help.

  • »
    »
    11 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    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 to from . import xxx, but i'm not sure it's good way.

    • »
      »
      »
      11 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +1 Проголосовать: не нравится

      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.

      try:
      	from . import xxx
      except SystemError:
      	import xxx
      

      I will install your script and see how it works on my system.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

This tool is amazing. Thank you so much.

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +23 Проголосовать: не нравится

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.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится -9 Проголосовать: не нравится

При импорте из архива не добавляются баллы за тесты и зависимости групп (в xml они есть). Это не предусмотрено или я что-то делаю не так? Баллы есть при генерации тестов из скрипта, но его как раз нет, есть готовые тесты в архиве.