Konversation/Scripts/Import mIRC server list/uk: Difference between revisions
Created page with "== Скрипт ==" |
Updating to match new version of source page |
||
| (11 intermediate revisions by 2 users not shown) | |||
| Line 3: | Line 3: | ||
=== Інформація === | === Інформація === | ||
Цей скрипт виконує читання списку серверів mIRC | Цей скрипт виконує читання списку серверів mIRC зі [http://www.mirc.com/servers.ini сторінки mirc]» і імпортує дані до вашого списку серверів '''Konversation'''. | ||
* | * Скрипт НЕ виконуватиме перезаписування вже створеного вами списку серверів, а просто допише сервери до поточного списку. | ||
* | |||
* | * Скрипт не виконує інтеграції вже створених записів. Якщо у вас вже є запис групи freenode, після запуску скрипту у вас буде два записи груп. | ||
* | |||
* Скриптом визначається використання типового профілю для всіх НОВОСТВОРЕНИХ записів серверів. | |||
* Скриптом припускається, що ви встановлюватимете з’єднання на першому з портів зі списку у файлі налаштувань mIRC. (У '''Konversation''' ще не передбачено можливості використання декількох різних портів). | |||
== Користування == | == Користування == | ||
| 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`"'