XPIInfo

SLSoft ›› Программы ›› XPIInfo

ХPIInfo - это комбинированный плагин для Total Commander, предназначенный для получения информации об xpi-файлах, в которых распространяются расширения для такие программ как Firefox, Thunderbird и проч.

Плагин по своей сути состоит их двух частей: Content-части и Lister-части. Наличие первой части открывает очень широкие возможности по его использованию, среди которых выведение информации о расширениях во всплывающей подсказке, создание настраиваемых наборов колонок, поиск по расширениям, быстрое переименование расширений. Более подробно о возможностях Content-плагинов, их настройке и работе с ними можно прочитать в замечательной статье Павла Дубровского.

Lister-часть позволяет просматривать информацию о расширении в стандартном окне просмотра Total Commander'a, причем вид информации, выводимой плагином можно достаточно гибко настраивать с помощью шаблонов.

СкачатьСкачать (326,33 Кб)

Скриншоты

Рис. 1. Всплывающая подсказка над файлом расширения в панели файлов (выделена та часть, за вывод которой "отвечает" XPIInfo) Рис. 2. Пользовательский набор колонок, выводящий информацию о файлах расширения на панель Рис. 3. Информация о расширении в окне Lister.
СкриншотСкриншот 1
СкриншотСкриншот 2
СкриншотСкриншот 3

Установка плагина

Для того, чтобы установить плагин надо просто открыть распространяемый архив в Total Commander. Все остальное будет сделано автоматически. Вам необходимо будет только ответить на несколько незамысловатых вопросов.

Однако, автоматически плагин установится и настроиться таким образом, что для использования будет доступна только content-часть. Для того, чтобы XPIInfo работал в Lister необходимо установить его вручную. Последовательность действий при этом такая:

  • Открываем окно "Настройка" и переходим на страницу "Плагины".
  • Нажимаем кнопку "Настройка", расположенную в группе "Плагины внутреннего просмотрщика (.WLX)".
  • В открывшемся окне нажимаем кнопку "Добавить", открывающую стандартное окно выбора файла.
  • Теперь переходим в этом окне в ту папку, где лежит файл xpiinfo.wdx
  • В поле "Имя файла:" вручную вводим "xpiinfo.wdx" (без кавычек).
  • Нажимаем кнопку "Открыть" и возвращаемся в окно "Плагины внутреннего просмотрщика".
  • С помощь кнопок со стрелками (слева) передвигаем плагин в списке поближе к началу.
  • Закрываем все окна, нажимая на "OK".
Если все прошло удачно, то нажав кнопку F3, в тот момент, когда курсор в списке файлов находится над XPI-файлом, Вы увидите информацию об этом файле.

Поля Content-части

  • id
  • Название
  • Версия
  • Описание
  • Автор
  • Участник(и)
  • Разработчик(и)
  • Переводчик(и)
  • Переводчик (см. замечание ниже)
  • Домашняя страница расширения
  • URL обновления или его шаблон в соответствии с http://developer.mozilla.org/en/docs/Install_Manifests#updateURL
  • Совместимость (список поддерживаемых приложений, например fx+mz+tb)
  • Поля поддерживаемых версий для каждой программы
  • Платформа(ы)
  • Локаль(и)
  • Язык(и)
  • Тип аддона в xpi-фале (см. замечание ниже)

Шаблоны Lister-части

Вид информации, которую выводит плагин в Lister'e можно менять, создавая или изменяя файлы шаблонов. Шаблоны располагаются в папке Templates, которая расположена в папке самого плагина и имеют расширение .tmpl. Ниже представлен список тегов, которые можно использовать в файлах шаблонов. Переключение между шаблонами производится из контекстного меню.

Теги шаблонов

ТегЗначение
{id}Идентификатор расширения
{name}Название расширения
{version}Версия расширения
{description}Описание расширения
{creator}Автор(ы) расширения
{contributors}Список участников проекта
{developers}Список разработчиков расширения
{translators}Список переводчиков расширения
{translator}Переводчик расширения (см. замечание ниже)
{homepage}Домашняя страница расширения
{updateurl}Ссылка на файл обновления расширения (или её шаблон)
{compatibility}Поддерживаемые расширением приложения, например ff+mz+tb
{FFV}, {MZV}, {FLV}, {NSV}, {SMV}, {TBV}, {NVUV}, {SBV}, {SOBV}, {ETV}, {MNV}***Поддерживаемые расширением версии Firefox, Mozilla Suite, Flock, Netscape, Seamonkey, Thunderbird, Nvu, Sunbird, Songbird, Etna, Mango соответственно
{platforms}Список поддерживаемых расширением платформ
{filesizeb}, {filesizeKb}, {filesizeMb}Размер файла расширения в байтах, килобайтах и мегабайтах соответсвенно
{currentdate}Текущая дата (выводимое значение зависит от установленной в системе локали)
{locales}*Список языков (в кодированном виде), на которые переведено расширение
{languages}**Список языков, на которые переведено расширение
{filename}**Имя файла расширения
* Поддерживается с версии 0.8.5.5
** Поддерживаются, начиная с версии плагина 0.9
*** Поддерживается, начиная с версии плагина 1.1

Парные теги условий

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

Тег условияЗначение
{$xx}...{xx$}xx - уcловный код приложения. Коды для разных приложений выделены в предыдущей таблице.
Определены только если расширение поддерживает программу.
{$Ps}...{Ps$}Определено, если список поддерживаемых платформ не пуст
{$Cs}...{Cs$}Определено, если список участников проекта не пуст
{$Ds}...{Ds$}Определено, если список разработчиков не пуст
{$Ts}...{Ts$}Определено, если список переводчиков не пуст
{$typexx}...{typexx$} *хх - один из кодов типа аддона (см. ниже)
Определены только если код типа аддона совпадает с xx в теге.
{$is_locale xxx}...{is_locale$} **Тег с параметром. В качестве параметра (на месте xxx) задаётся регулярное выражение, на совпадение с которым плагин проверит все локали, поддерживаемые расширением. Условие тега выполняется, если найдена локаль, код которой соответствует параметру - регулярному выражению. Для локали, соответствующей русскому языку параметр может выглядеть, например, так: ru(-RU)?
* Поддерживаются с версии плагина 1.0.
** Поддерживается, начиная с версии плагина 1.1

Комментарии

В текст шаблонов можно вставлять комментраии. Однострочные комментарии начинаются с /// и заканчиваются в конце строки. Многострочные комментарии начинаются с /* и заканчиваются на */.

Замечание о...

...переводчике расширения

Возникает логичный вопрос: а как расширение узнает о том какого именно переводчика необходимо вывести при запросе поля Translator или тега {translator}? Объясню. В файле настроек xpiinfo.ini, расположенном в папке плагина в секции [Common] есть ключ TranslatorRE. Этому ключу присваивается регулярное выражение (см. замечание ниже), которое плагин использует для проверки каждого переводчика (из Translators) или участника (Contributors). Если найдено совпадение с указанным в настройках регулярным выражением, то переводчик считается найденным. Если ни одна запись из списков Translators и Contributors не совпала, то переводчик считается неизвестным. По-умолчанию в настройках записано регулярное выражение для поиска "переводчика" расширения на английский. Но, естественно, это не более чем пример, который можно (и нужно) использовать для написания требуемого регулярного выражения для конкретного языка. Изменить эту настройку можно, используя специальный пункт меню. Изменения действуют без перезапуска TC (необходимо просто обновить окно Lister'а).

Примечание: Для удобства русскоязычных пользователей плагина в файле настроек уже содержится строка с регулярным выражением для отбора переводчика на русский, но она заккоментирована (в начале стоит точка с запятой). Таким образом, чтобы плагин мог выбирать переводчика на русский язык, необходимо просто расскоментировать закомментированную строку (убрать точку с запятой) и закомментировать или удалить строку, содержащую регулярное выражение по умолчанию.

...типах дополнения

Поле Type содержит один из кодов, указывающих на тип дополнения (см. таблицу ниже) или "Unknown", если его не удалось определить (чаще всего тег type отсутствует в install.rdf, так как он не является обязательным для расширений и тем).

КодТип дополнения
2Расширение
4Тема
8Локализация
16Плагин
32Multiple Item Package (???)

...регулярных выражениях

  1. Модификатор ?: НЕ ПОДДЕРЖИВАЕТСЯ парсером регулярных выражений, используемом в плагине. Его использование приводит к некорректной работе плагина. Пожалуйста, не используете его в регулярных выражениях!
  2. В регулярные выражения можно вставлять комментарии, используя следующую конструкцию: (?#Текст комментария)

Благодарности

Прежде всего выражаю огромную благодарность всем участникам русскоязычного сообщества Mozilla в лице сайта Mozilla.ru. Именно знакомство с программами Mozilla послужило для меня стимулом к написанию этого плагина.

Отдельную благодарность выражаю человеку с ником stoneflash, проявляющему огромный неисчерпаемый интерес к моему "творению", постоянно вносящему новые предложения и обнаруживающему разные недочеты реализации. Без него плагин никогда не стал бы тем, чем он является на данный момент. СПАСИБО!!!

Не могу не упомянуть также и компанию ComponentAce, разработавшую прекрасный Delphi-компонент для работы с zip-архивами ZipForge, позволивший избежать многих проблем при разработке плагина.

История изменений

ВерсияИзменения
1.1d
Добавлен перевод на словацкий язык
1.1c

  • Добавлен перевод на французский язык.
  • Добавлен перевод на голландский язык.

1.1b

  • Добавлен перевод на датский.

1.1a

  • Добавлена локализация на немецкий.

1.1

  • Коды приложений в поле "Совместимость" выводятся в соответствии с алфавитным порядком имён приложений.
  • В список приложений добавлено Mango. Добавленые соответствующие поля и теги шаблонов.
  • Изменено регулярное выражение для определения переводчиков. Добавлена возможность его изменения во время работы плагина с помощью пункта контекстного меню.
  • Добавлена возможность отключить сохранение в файл текста ошибок при автосохранении.
  • Добавлен условный тег с параметром {$is_locale xxx}...{is_locale$} (см. выше)
  • Плагин знает о "новом" идентификаторе Songbird.

1.0

  • Исправлено падение плагина в случае, когда некорректно написан install.rdf.
  • Тег {filename} теперь выводит только имя файла без пути.
  • Добавлена отключаемая функция автосохранения выводимой при просмотре информации в файл (с опциональным дописыванием информации).
  • Добавлено определения типа дополнения, содержащегося в xpi-файле (см. выше), а также теги шаблонов, позволяющие настроить вывод информации в соответствии с этим типом.
  • Добавлена возможность вставлять в файлы шаблонов комментарии.
  • При переключении языка теперь автоматически обновляется содержимое текущего окна Lister'а.
  • Исправлен баг в работе мультиязычной поддержки.
  • В случае, если при определении информации о расширении возникла ошибка, XPIInfo выводит осмысленное сообщение о ней при просмотре расширения в Lister'е.
  • В дистрибутив добавлены шаблоны от stoneflash

0.9

  • Добавлен список языков, на которые переведо расширение.
  • Добавлен тег шаблона {filename}
  • Список локалей и список языков сортируются по алфавиту

0.8.5.5

  • Определение локалей для расширения

0.8.5

  • Багфиксы
  • Улучшена функция сохранения в файл
  • Добавлено поле Translator (Переводчик) и соответствующий тег. См. замечание выше

0.8

  • Исправлены коды выводимые в поле Compatibility
  • Исправлено неверное определение размера файла расширения
  • Расширение сделано полностью мультиязычным
  • Настройки храняться в отдельном файле
  • Шаблоны и языковые файлы хранятся в отдельных папках
  • Списки шаблонов и языков в меню теперь можно обновлять во время работы Total Commander'а
  • Добавлена возможность сохранения информации из окна Lister'а в файл
  • Поле {filesizeb} выводится в соответствии с региональными настройками Windows

СкачатьСкачать (329,1 Кб)
SLSoftПрограммыОбратная связьГостевая книга
Rambler's Top100

К началуК началу

Hosted by uCoz