<<
>>

Реализация модуля для FinancecQuote

Открываем Sberbank.pm в нашем любимом текстовом редакторе. Текст снабжен неплохими комментариями, так что понятно назначение той или иной секции в сгенерированном файле. Нам надо удалить все лишнее, и реализовать методы для FinanceuQuote.

Самое забавное, что реализуя модуль под FinanceuQuote нам вовсе не надо что-то знать о FinanceuQuote, не надо даже упоминать ее в нашем модуле. Достаточно поддержать нужный интерфейс и подложить модуль в правильное место.

Находим строку Preloaded methods go here.". Отсюда мы и начнем определять наши методы. Первый метод, который нам понадобится, это метод methods. Этот метод будет вызван FinanceuQuote для получения списка нестандартных методов, определяемых нашим модулем. Это как раз та строчка, которую мы увидим, когда подключим наш модуль в GnuCash. Кроме этого нам понадобится метод, который вернет список поддерживаемых нами атрибутов labels, ну и собственно, главный метод, в котором мы и будем лазить на сайт Sberbank’a, и забивать значения атрибутов. Пока определим только стандартные методы, и пустышку для главного метода. Вот, что у меня получилось:

sub methods { return ( sberbank => \\&sberbank ) ; }

{

my @labels = qw/name last bid ask date isodate currency/; sub labels { return ( sberbank => \\@labels ); }

}

sub sberbank { my Squoter = shift ; my @stocks =

}

Получился метод sberbank с двумя параметрами, загадочный Squoter, и не менее загадочные @stocks. Метод ничего не возвращает, а вообще говоря - должен. Тем не менее, это уже вполне минимально подходящий для использования модуль FinanceuQuote.

Делаем make, make test, make install. Запускаем gnucash командой:

kilorkQpantogan:~/DesktopS FQ_LOAD_QUQTELET="- defaults Sberbank" gnucash

У меня открылся наш последний пример из 3-й части руководства. Есть золото, но котировки надо вбивать руками.

Теперь мы попробуем настроить получение котировок с помощью нашего новомодного модуля. Пустышки правда пока.

Идем в редактор ценных бумаг, находим там наше золото, выбираем "Правка", на открывающеся форме настройки ставим галочку мПолучить онлайн котировкиустанавливаем радио-переключатель в положение "Неизвестный" , в выпадающем списке находим "sber\'baiik" и выбираем. Жмем "Ок".

Мы подключили наш модуль к нашему инструменту - золоту. Теперь убедимся, что пока ничего не работает. Идем в редактор цен, жмем "Получить котировки", получаем вполне ожидаемый результат.

Рис. 4.2: Получение котировок с новым "пустым" модулем приводит к ошибке _

файл Правка Вид Действия

Уже чего-то мы достигли, наш модуль виден GiiuCash, и выдает даже какую-то ошибку при попытке запроса. В следующей части мы постараемся научить его делать более полезные вещи.

<< | >>
Источник: Александр Королев. Руководство по GnuCash. 2010

Еще по теме Реализация модуля для FinancecQuote:

- Авторское право - Аграрное право - Адвокатура - Административное право - Административный процесс - Антимонопольно-конкурентное право - Арбитражный (хозяйственный) процесс - Аудит - Банковская система - Банковское право - Бизнес - Бухгалтерский учет - Вещное право - Государственное право и управление - Гражданское право и процесс - Денежное обращение, финансы и кредит - Деньги - Дипломатическое и консульское право - Договорное право - Жилищное право - Земельное право - Избирательное право - Инвестиционное право - Информационное право - Исполнительное производство - История - История государства и права - История политических и правовых учений - Конкурсное право - Конституционное право - Корпоративное право - Криминалистика - Криминология - Маркетинг - Медицинское право - Международное право - Менеджмент - Муниципальное право - Налоговое право - Наследственное право - Нотариат - Обязательственное право - Оперативно-розыскная деятельность - Права человека - Право зарубежных стран - Право социального обеспечения - Правоведение - Правоохранительная деятельность - Предпринимательское право - Семейное право - Страховое право - Судопроизводство - Таможенное право - Теория государства и права - Трудовое право - Уголовно-исполнительное право - Уголовное право - Уголовный процесс - Философия - Финансовое право - Хозяйственное право - Хозяйственный процесс - Экологическое право - Экономика - Ювенальное право - Юридическая деятельность - Юридическая техника - Юридические лица -