Yet Another Chess Problem Database (and wiki, yes)


Previous Entry Add to Memories Share Next Entry

updates

1. Обновление yacpdb: результаты поиска, если их не больше 1000 можно скачать как .olv файл и потом попытаться открыть из olive (не пробуйте выбирать при загрузке "Открыть с помощью ... olive.exe" это пока не работает)

2. Новая версия olive
Добавлено:

  • Экспорт в PDF.

  • Препроцессинг листинга Popeye, чтобы он занимал меньше места по вертикали (критично для PDF). Работает так: после того как Popeye финишировал, в контестном меню над его листингом появляется пункт "Сделать компактнее". Работает (в теории) для ортодоксальных задач и некоторых сказочных.

  • Мелочи.

Это все еще бета версия, все сырое, может не работать и т.д.

---

1. yacpdb update: search results, if there's no more than a 1000 of them, can be downloaded as a .olv file, which, with some luck, may then be opened from olive (don't try to choose "Open with ... olive.exe" this is not working yet)

2. New version of olive
Added:

  • PDF exporting facilities.

  • Popeye output preprocessing to save vertical space (matters for PDF). This is how it works: upon Popeye having had finished, the option called "Make more compact" is added to the output window context menu. This works (in theory) for orthodox problems and limited subset of fairy problems.

  • Small fixes.

This is still a beta, some things may not work, etc.

shahmatiuga February 13th, 2012
я вижу, что в этой версии экспорт pbm идет без ошибок. это и есть "мелочи"?
организуй, пожалуйста, возможность расширения функционала за счёт плагинов.

shahmatiuga February 13th, 2012
ошибка парсинга YAML (could not determine a constructor for the tag 'tag:yaml.org,2002:value' in search-results.olv, line 419, column 14)

Edited at 2012-02-13 07:15 am (UTC)

yacpdb February 13th, 2012
Исправил это. Попробуй скачать свои задачм еще раз.

yacpdb February 13th, 2012
>я вижу, что в этой версии экспорт pbm идет без ошибок.
На некоторых файлах все равно ошибки. Есть версия, что файлы созданные старыми версиями Problemist устроены немного иначе.

>это и есть "мелочи"?
- Поменялись ссылки "О программе"
- Чередующийся фон у строчек в списке с задачами внизу
- Обработка выхода (предложение сохраниться), еще там сохранение геометрии окна, но в бинарную сборку попала версия где это закомментировано, потому что я криворукий.
- Контекстное меню в диалоге с близнецами теперь помогает вводить зеропозиции и продолженные близнецы
- Очистка вывода попай при смене текущей задачи
- Подтверждение удаления задачи
- Экспорт в изображение
- Ввод юникода в неюникодные поля (twins, stipulation etc) больше не приводит к ошибке.

> организуй, пожалуйста, возможность расширения функционала за счёт плагинов.
Ок. А как ты себе это представляешь?

> ошибка парсинга YAML (could not determine a constructor for the tag 'tag:yaml.org,2002:value' in search-results.olv, line 419, column 14)
А чего там "in search-results.olv, line 419, column 14"? Наверняка в базе что-то криво.

shahmatiuga February 13th, 2012
насчет плагинов на питоне: http://habrahabr.ru/blogs/python/79513/
хотя, если работать с бинарным кодом, то надо работать по-другому:
- при запуске программа загружает плагины из папки plugins. предположим, это dll. можно потребовать, чтобы у них было специальное имя.
- интерфейс плагина фиксируется, но наличие его полностью не требуется. например, UpdateUI - функция обновления интерфейса (добавляет новый пункт меню, например), OnCommand - обработчик события и т.д.
- при работе программы в нужных местах стоят "хуки", которые выполняют функцию из плагина, если она есть. Чтобы не опрашивать все плагины, можно предварительно регистрироавать интерфейс плагинов.

как на питоне это делать, я смутно представляю, я плагины писал на С++, php, а саму поддержку только на php

yacpdb February 13th, 2012
Бинарные плагины это вобще не вариант, программа кроссплатформенная. Меня больше интересуют какие конкретно нужны хуки? Вот какой ты хочешь написать плагин?

shahmatiuga February 13th, 2012
как минимум плагины на экспорт/импорт. потом, на расширение сказочных фигур, добавление новых заданий. ты, например, всё это вынес в опции, а я предлагаю это вынести в плагины. потом, плагин подключения движков.
Я, например, написал бы плагин экспорта в pgn, rtf. В этом случае нужны только функции, о которых я уже упоминал - UpdateUI, OnCommand

yacpdb February 13th, 2012
А почему при инициализации плагин не может добавлять что-то в интерфейс и связывать добавленные элементы интерфеса со своими методами? Зачем эти сложности?

shahmatiuga February 13th, 2012
это я говорю по аналогии с другими языками. да и не всегда плагин добавляет что-то в интерфейс. он ведь может просто изменять уже существующую функциональность.

You are viewing yacpdb