Konversation/Scripts/Import mIRC server list/uk: Difference between revisions
Created page with "=== Інформація ===" |
Updating to match new version of source page |
||
(26 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
=== Інформація === | === Інформація === | ||
Цей скрипт виконує читання списку серверів mIRC зі [http://www.mirc.com/servers.ini сторінки mirc]» і імпортує дані до вашого списку серверів '''Konversation'''. | |||
* | * Скрипт НЕ виконуватиме перезаписування вже створеного вами списку серверів, а просто допише сервери до поточного списку. | ||
* Скрипт не виконує інтеграції вже створених записів. Якщо у вас вже є запис групи freenode, після запуску скрипту у вас буде два записи груп. | |||
* Скриптом визначається використання типового профілю для всіх НОВОСТВОРЕНИХ записів серверів. | |||
* Скриптом припускається, що ви встановлюватимете з’єднання на першому з портів зі списку у файлі налаштувань mIRC. (У '''Konversation''' ще не передбачено можливості використання декількох різних портів). | |||
== Користування == | |||
Скопіюйте вміст скрипту до нового текстового документа і скористайтеся дією <menuchoice>Зберегти</menuchoice>, щоб зберегти скрипт з назвою «konversation_servers» (або будь-якою іншою назвою, не забудьте однак виправити наведені нижче команди!) | |||
Переконайтеся, що роботу '''Konversation''' завершено (не просто закрито головне вікно) і віддайте команду: | |||
:<code> perl konversation_servers</code> | :<code> perl konversation_servers</code> | ||
або | |||
:<code> perl konversation_servers / | :<code> perl konversation_servers /шлях/до/konversationrc</code> | ||
Для запуску скрипту слід встановити декілька модулів perl: | |||
* [http://search.cpan.org/search?query=Config%3A%3ATiny&mode=module Config::Tiny] | * [http://search.cpan.org/search?query=Config%3A%3ATiny&mode=module Config::Tiny] | ||
Line 26: | Line 29: | ||
* [http://search.cpan.org/search?query=File%3A%3AHomeDir&mode=module File::HomeDir] | * [http://search.cpan.org/search?query=File%3A%3AHomeDir&mode=module File::HomeDir] | ||
Можете не встановлювати модуль File::HomeDir, якщо ви вкажете шлях до файла konversationrc у командному рядку або якщо встановлено змінну середовища KDEHOME, а файл konversationrc зберігається у типовій теці. | |||
== | == Гарантійні зобов’язання == | ||
ВАМ НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙНИХ ЗОБОВ’ЯЗАНЬ ЩОДО ЦЬОГО СКРИПТУ. | |||
== | == Підтримка == | ||
Будь-які питання ви можете задати користувачеві Woosta у Freenode або вашому знайомому знавцеві perl. | |||
== | == Умови ліцензування == | ||
©Rick Measham, 2007. Ця програма є вільним програмним забезпеченням, ви можете поширювати і/або вносити до неї зміни за дотримання тих самих ліцензійних умов, за якими розповсюджується ваш дистрибутив Perl. | |||
== | == Скрипт == | ||
{{Input|<syntaxhighlight lang="perl"> | {{Input|<syntaxhighlight lang="perl"> | ||
Line 106: | Line 109: | ||
BEGIN { | BEGIN { | ||
my $konvs = `ps ax | grep konversation | grep -v grep`; | |||
if ($konvs =~ /konversation/){ | if ($konvs =~ /konversation/){ | ||
print "You need to quit konversation before running this script.\n"; | print "You need to quit konversation before running this script.\n"; | ||
Line 112: | Line 115: | ||
} | } | ||
my @mod_list = ('Config::Tiny', 'File::Copy', 'LWP::Simple'); | |||
# If there isn't a konversationrc in the ARGV, add File::HomeDir | |||
push(@mod_list, 'File::HomeDir') | push(@mod_list, 'File::HomeDir') | ||
unless ($ARGV[0] && -r $ARGV[0]) | unless ($ARGV[0] && -r $ARGV[0]) | ||
|| ($ENV{KDEHOME} && -r "$ENV{KDEHOME}/share/config/konversationrc"); | || ($ENV{KDEHOME} && -r "$ENV{KDEHOME}/share/config/konversationrc"); | ||
foreach my $mod (@mod_list){ | |||
eval { | eval { | ||
(my $fn = $mod) =~ s|::|/|g; | (my $fn = $mod) =~ s|::|/|g; | ||
Line 189: | Line 192: | ||
foreach my $s ( keys %{ $mIRC->{servers} } ){ | foreach my $s ( keys %{ $mIRC->{servers} } ){ | ||
my ($name, $server, $port, $group) | |||
= $mIRC->{servers}{$s} | = $mIRC->{servers}{$s} | ||
=~ /(.+?)SERVER:(.+?):(\d+).*?GROUP:(.+)/; | =~ /(.+?)SERVER:(.+?):(\d+).*?GROUP:(.+)/; | ||
next unless $group && $server && $port; | |||
$name =~ s/^$group: //; | |||
push(@{$group{$group}}, { name=>$name, server=>$server, port=>$port }); | |||
} | } | ||
Line 207: | Line 210: | ||
foreach my $g ( sort keys %group ){ | foreach my $g ( sort keys %group ){ | ||
$konv->{"ServerGroup $gcount"} = { | |||
AutoConnect => 'false', | AutoConnect => 'false', | ||
AutoJoinChannels => '', | AutoJoinChannels => '', | ||
Line 219: | Line 222: | ||
}; | }; | ||
foreach my $s ( @{ $group{$g} } ){ | |||
$konv->{"Server $scount"} = { | |||
Password => '', | Password => '', | ||
Port => $s->{port}, | Port => $s->{port}, | ||
Line 228: | Line 231: | ||
}; | }; | ||
$konv->{"ServerGroup $gcount"}{ServerList} = | |||
($konv->{"ServerGroup $gcount"}{ServerList} || '') | ($konv->{"ServerGroup $gcount"}{ServerList} || '') | ||
.(($konv->{"ServerGroup $gcount"}{ServerList}) ? ',' : '') | .(($konv->{"ServerGroup $gcount"}{ServerList}) ? ',' : '') | ||
."Server $scount"; | ."Server $scount"; | ||
$scount++; | |||
} | } | ||
$gcount++; | |||
} | } | ||
$gcount--; $scount--; | $gcount--; $scount--; | ||
Line 251: | Line 254: | ||
print "Completed. It is now safe to start konversation.\n"; | print "Completed. It is now safe to start konversation.\n"; | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
[[Category:Інтернет/uk]] | |||
[[Category: | [[Category:Досвідченим користувачам/uk]] | ||
[[Category: |
Latest revision as of 17:43, 23 February 2013
Інформація
Цей скрипт виконує читання списку серверів mIRC зі сторінки mirc» і імпортує дані до вашого списку серверів Konversation.
- Скрипт НЕ виконуватиме перезаписування вже створеного вами списку серверів, а просто допише сервери до поточного списку.
- Скрипт не виконує інтеграції вже створених записів. Якщо у вас вже є запис групи freenode, після запуску скрипту у вас буде два записи груп.
- Скриптом визначається використання типового профілю для всіх НОВОСТВОРЕНИХ записів серверів.
- Скриптом припускається, що ви встановлюватимете з’єднання на першому з портів зі списку у файлі налаштувань mIRC. (У Konversation ще не передбачено можливості використання декількох різних портів).
Користування
Скопіюйте вміст скрипту до нового текстового документа і скористайтеся дією
, щоб зберегти скрипт з назвою «konversation_servers» (або будь-якою іншою назвою, не забудьте однак виправити наведені нижче команди!)Переконайтеся, що роботу Konversation завершено (не просто закрито головне вікно) і віддайте команду:
perl konversation_servers
або
perl konversation_servers /шлях/до/konversationrc
Для запуску скрипту слід встановити декілька модулів perl:
Можете не встановлювати модуль File::HomeDir, якщо ви вкажете шлях до файла konversationrc у командному рядку або якщо встановлено змінну середовища KDEHOME, а файл konversationrc зберігається у типовій теці.
Гарантійні зобов’язання
ВАМ НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙНИХ ЗОБОВ’ЯЗАНЬ ЩОДО ЦЬОГО СКРИПТУ.
Підтримка
Будь-які питання ви можете задати користувачеві Woosta у Freenode або вашому знайомому знавцеві perl.
Умови ліцензування
©Rick Measham, 2007. Ця програма є вільним програмним забезпеченням, ви можете поширювати і/або вносити до неї зміни за дотримання тих самих ліцензійних умов, за якими розповсюджується ваш дистрибутив Perl.
Скрипт
'"`UNIQ--syntaxhighlight-00000002-QINU`"'