Jump to content

Konversation/Scripts/Import mIRC server list/uk: Difference between revisions

From KDE UserBase Wiki
Yurchor (talk | contribs)
Created page with "Будь-які питання ви можете задати користувачеві Woosta у Freenode або вашому знайомому знавцеві perl."
FuzzyBot (talk | contribs)
Updating to match new version of source page
 
(14 intermediate revisions by 2 users not shown)
Line 3: Line 3:
=== Інформація ===
=== Інформація ===


Цей скрипт виконує читання списку серверів mIRC з «http://www.mirc.com/servers.ini» і імпортує дані до вашого списку серверів '''Konversation'''.
Цей скрипт виконує читання списку серверів mIRC зі [http://www.mirc.com/servers.ini сторінки mirc]» і імпортує дані до вашого списку серверів '''Konversation'''.


* It will NOT overwrite your existing servers, but will append the list to your existing list.
* Скрипт НЕ виконуватиме перезаписування вже створеного вами списку серверів, а просто допише сервери до поточного списку.
* It doesn't integrate: If you have a freenode group now, you will have two freenode groups once you run it.
 
* It sets all NEW servers to use your default profile.
* Скрипт не виконує інтеграції вже створених записів. Якщо у вас вже є запис групи freenode, після запуску скрипту у вас буде два записи груп.
* It assumes you want to connect on the first port listed in the mIRC config. ('''Konversation''' doesn't appear to have the concept of multiple ports).
 
* Скриптом визначається використання типового профілю для всіх НОВОСТВОРЕНИХ записів серверів.
 
* Скриптом припускається, що ви встановлюватимете з’єднання на першому з портів зі списку у файлі налаштувань mIRC. (У '''Konversation''' ще не передбачено можливості використання декількох різних портів).


== Користування ==
== Користування ==
Line 36: Line 39:
Будь-які питання ви можете задати користувачеві Woosta у Freenode або вашому знайомому знавцеві perl.
Будь-які питання ви можете задати користувачеві Woosta у Freenode або вашому знайомому знавцеві perl.


== Licence ==
== Умови ліцензування ==


(c)2007 Rick Measham. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
©Rick Measham, 2007. Ця програма є вільним програмним забезпеченням, ви можете поширювати і/або вносити до неї зміни за дотримання тих самих ліцензійних умов, за якими розповсюджується ваш дистрибутив Perl.


== The Script ==
== Скрипт ==


{{Input|<syntaxhighlight lang="perl">
{{Input|<syntaxhighlight lang="perl">
Line 106: Line 109:
BEGIN {
BEGIN {


my $konvs = `ps ax | grep konversation | grep -v grep`;
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');
my @mod_list = ('Config::Tiny', 'File::Copy', 'LWP::Simple');


# If there isn't a konversationrc in the ARGV, add File::HomeDir
# 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){
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)
my ($name, $server, $port, $group)
= $mIRC->{servers}{$s}
= $mIRC->{servers}{$s}
=~ /(.+?)SERVER:(.+?):(\d+).*?GROUP:(.+)/;
=~ /(.+?)SERVER:(.+?):(\d+).*?GROUP:(.+)/;


next unless $group && $server && $port;
next unless $group && $server && $port;


$name =~ s/^$group: //;
$name =~ s/^$group: //;


push(@{$group{$group}}, { name=>$name, server=>$server, port=>$port });
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"} = {
$konv->{"ServerGroup $gcount"} = {
AutoConnect        => 'false',
AutoConnect        => 'false',
AutoJoinChannels    => '',
AutoJoinChannels    => '',
Line 219: Line 222:
};
};


foreach my $s ( @{ $group{$g} } ){
foreach my $s ( @{ $group{$g} } ){


$konv->{"Server $scount"} = {
$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}) ? ',' : '')
.(($konv->{"ServerGroup $gcount"}{ServerList}) ? ',' : '')
."Server $scount";
."Server $scount";


$scount++;
$scount++;
}
}


$gcount++;
$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:Internet]]
[[Category:Досвідченим користувачам/uk]]
[[Category:Advanced Users]]

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`"'