Tag: psi

Psi Options –> Jabber Roster Utility (XSLT)

Сервер с моим основным аккаунтом лёг. Видимо, наконец решил оправдать своё имя — unstable.nl

Соответственно встал вопрос о переносе контактов на новый сервер. Чем это можно сделать? Конечно же Jabber Roster Utility, чем же еще? Но! JRE сначала должен получить контакты со старого, а сервер-то лежит. Ростер, конечно же, скеширован клиентом, коим у меня является Psi. Но формат-то там неподходящий! Если перебивать ручками, то проще покажется добавить ручками же контакты прямо в клиенте. Не вариант.

Сначала в голову полезла шальная мысль написать парсер, но она была сразу отброшена. Psi хранит настройки в XML, a значит можно поступить проще.

Возьмем нужный нам файл настроек: %psidatadir%/profiles/%profilename%/accounts.xml и применим к нему xslt-стиль. Стиль этот очень прост:

<?xml version=”1.0″ encoding=”UTF-8″?>

<xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform” xmlns=”http://psi-im.org/options”>
<xsl:output method=”text”/>

<xsl:template match=”/accounts/accounts/*”>
Account <xsl:value-of select=”jid”/><xsl:apply-templates select=”roster-cache”/>
</xsl:template>

<xsl:template match=”roster-cache/*”>+,<xsl:value-of select=”jid”/>,<xsl:value-of select=”name”/>,none,<xsl:value-of select=”groups/item”/></xsl:template>

</xsl:stylesheet>

В результате мы получим ростеры всех прописанных туда аккаунтов в формате, который хавает JRE

Account jid@domain.tld
+,elem1@dom1.tld,Element 1,none,Group
+,elem2@dom2.tld,Element 2,none,Group
+,elem3@dom3.tld,Element 3,none,Group 2

Account jid2@domain2.tld
+,elem1@dom1.tld,Element 1,none,
+,elem4@dom4.tld,Element 2,none,

Вуаля, кормим JRE.

Как применить стиль?

Самый простой способ — браузер. Открываем accounts.xml (рекомендую сделать копию и издеваться над ней, а не резать по живому), вписываем первой строкой

<?xml-stylesheet type=”text/xsl” href=”accounts-xslt.xml”?>

копируем стиль в папку с этим accounts.xml и открываем accounts.xml в браузере.

Если не сработает, удаляем из accounts.xml строку <!DOCTYPE accounts> и элемент xmlns=”http://psi-im.org/options”

Знаю, что не по фэн-шую, но мне почему-то помогло.

Скачать стиль: http://misc.sunchaser.info/software/psi2jre.zip


Psi: партнёрство с Barracuda Networks и Yandex Inc.


В сентябре сразу два разработчика open-source клиента Psi объявили о своём сотрудничестве с крупными компаниями.

Justin Karneges (infiniti), основатель и бывший главный разработчик проекта, нынче разрабатывает клиентскую часть Barracuda IM Firewall на основе кода Psi.

Михаил Пищагин (mblsha), ответсвенный за большинство графических наворотов начиная с 2003 года, участвовал в разработке небезызвестного Я.Онлайн.

Можно только порадоваться такому интересу деньгодержателей к программе Psi и протоколу Jabber. Пожелаем команде удачи в дальнейшем завоевании мира!

http://forum.psi-im.org/thread/5082
http://forum.psi-im.org/thread/5112


  • FeedBurner

  • Calendar

    February 2012
    M T W T F S S
    « Jan    
     12345
    6789101112
    13141516171819
    20212223242526
    272829  
  • Archives

  • Categories

  • SunChaser on Twitter

    • @azakharov = говноговноязаговно, так? 14 hours ago
    • RT @drunktwi: - Сволочь ты! Всю жизнь мне испортил! Всю молодость на тебя потратила! - Хватит разговаривать с дипломом. 4 days ago
    • RT @read_the_tweet: По мнению президента, стране не хватает квалифицированных рабочих. По мнению рабочих, стране не хватает квалифициров ... 5 days ago
    • @stupid_bob диджеинг это прикрытие, очевидно же 6 days ago
    • @Vedma2102 здоровенная? О__о 6 days ago
  • Copyright © 1996-2010 Chase Your Dreams!. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress