понедельник, 10 апреля 2006 г.

Перенос ICQ контактов из Miranda в Google mail (google talk).

Перенос контактов осуществляется в три этапа.
Первый этап: контакты экспортируются из Miranda с использованием плагина Database Editor++
Второй этап: контакты конфертируются в формат google mail
Третий этап: контакты импортируются в google mail

Скачиваем плагина Database Editor++. Распаковываем архив и копируем файл "dbeditorpp.dll" в директорию Plugins миранды (по умолчанию "C:\Program Files\Miranda IM\Plugins"). Перезапускаем миранду.

В главном меню миранды появляется пункт "Database Editor++"



Запускаем "Database Editor++".



Выбираем в меню Export -> All Contacts. Сохраняем контакты в файл.


Для конвертации контактов в формат gmail я написал простенький скрипт на bash. Можно написать на чем-нибудь еще, но больше под рукой у меня ничего нет :). Для использования bash под Windows я использую cygwin. Инсталлятор для cygwin (файл setup.exe) можно скачать тут. Примечание: инсталлятор скачивает необходимые пакеты с интернета.

---------------------------------------------------------------- скрипт
#!/bin/bash

JABBER_GATEWAY="jit-icq.jabber.anywise.com"

IN_FILE=mir4.ini
TMP_FILE=mir4.contacts
OUT_FILE=mir4.gmail.csv

# tr is used to convert group name separator \ to / because of some problems with \ during reading
grep -E "(CONTACT\:)|(UIN=d)|(Nick=s)|(FirstName=s)|(LastName=s)|(Group=s)|(About=s)" ${IN_FILE} | tr "\\" "/" >${TMP_FILE}

echo "CONTACT\:" >> ${TMP_FILE}

echo "Name,E-mail,Notes,Section 1 - Description,Section 1 - Email,Section 1 - IM" > ${OUT_FILE}

while read line
do

# echo -e ">>$line"
if ( echo -e $line | grep --quiet "CONTACT\:" )
then
if [[ -n $UIN ]]
then
FULL_CONTACT=$CONTACT

if ( echo -e $FULL_CONTACT | grep -i -v --quiet "$Nick" )
then
FULL_CONTACT="$FULL_CONTACT $Nick"
fi

if ( echo -e $FULL_CONTACT | grep -i -v --quiet "$FirstName" )
then
FULL_CONTACT="$FULL_CONTACT $FirstName"
fi

if ( echo -e $FULL_CONTACT | grep -i -v --quiet "$LastName" )
then
FULL_CONTACT="$FULL_CONTACT $LastName"
fi

echo "\"$Group - $FULL_CONTACT - ICQ# $UIN\",,\"$About\",ICQ,${UIN}@${JABBER_GATEWAY},ICQ# $UIN"
fi

CONTACT=`echo -e $line | sed "s/CONTACT\: //" | sed "s/\*.*//"`
UIN=""
Nick=""
FirstName=""
LastName=""
Group=""
About=""
elif ( echo -e $line | grep --quiet "UIN=d" )
then
UIN=`echo -e $line | sed "s/UIN=d//"`
elif ( echo -e $line | grep --quiet "Nick=s" )
then
Nick=`echo -e $line | sed "s/Nick=s//"`
elif ( echo -e $line | grep --quiet "FirstName=s" )
then
FirstName=`echo -e $line | sed "s/FirstName=s//"`
elif ( echo -e $line | grep --quiet "LastName=s" )
then
LastName=`echo -e $line | sed "s/LastName=s//"`
elif ( echo -e $line | grep --quiet "Group=s" )
then
Group=`echo -e $line | sed "s/Group=s//"`
elif ( echo -e $line | grep --quiet "About=s" )
then
About=`echo -e $line | sed "s/About=s//"`
fi


done <${TMP_FILE} >>${OUT_FILE}

---------------------------------------------------------------- конец скрипта


После этого получившийся на выходе файл
(в нашем случае это "mir4.gmail.csv") необходимо экспортировать в gmail.


2 комментария:

  1. Обьясните, пожалуйста, как использовать этот скрипт? И где нужно указать путь к файлу с контактами из Миранды?

    ОтветитьУдалить
  2. очень увлекательный финт

    ОтветитьУдалить