[Mew-dist 09362] Re: Add address to Aliases
SAKAI Kiyotaka
ksakai at example.com
1999年 6月 16日 (水) 15:45:51 JST
>> In article <19990607005821D.motonori at example.com>, Motonori Nakamura <motonori at example.com> writes:
>> 2) あちこのフォルダに分類した受信メールの内,何らかの事情で
>> Duplicate になってしまったメールを Message-Id でチェックをかけて,
>> Dupe となっているものは消し込む
> IM で Message-ID database を作るようにすれば、同じ Message-ID を持つ
> 複数のメールがどこに存在するかが、DB をみれば分かるようになるので、
> あとは、それらのメールに対して処理を行うプログラムを書く、という
> 方法があります。imhsync をちょちょいといじれば早いかな。
問題は、同じ Message-ID を持つメッセージが見付かった場合にどっちを消し
込むか、といった仕様をどうするかですね。
同じ Message-ID を持つメールを表示するだけなら、以下のような感じでいい
と思いますが。
--
酒井 清隆 (E-mail: ksakai at example.com)
-------------- next part --------------
Index: imhist.in
===================================================================
RCS file: /home/ksakai/cvsroot/im-116/imhist.in,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 imhist.in
--- imhist.in 1999/06/08 06:59:37 1.1.1.1
+++ imhist.in 1999/06/16 06:36:34
@@ -30,7 +30,7 @@
use strict;
use vars qw($Prog $EXPLANATION @OptConfig
@Hdr
- $opt_lookup $opt_remove $opt_msg $opt_dump $opt_add
+ $opt_lookup $opt_remove $opt_msg $opt_dump $opt_check $opt_add
$opt_subfolders $opt_verbose $opt_debug $opt_help);
##
@@ -49,6 +49,7 @@
'remove;s;;' => 'Remove whole information on specified message-id.',
'msg;s;;' => 'Message to be deleted if multiple in database.',
'dump;b;;' => 'Dump database just for debugging.',
+ 'check;b;;' => 'Check dupulicate messages-id.',
'add;f;;' => 'Add information of messages in a specified folder.',
'subfolders;b;;' => 'Descend sub folders recursively (option for --add).',
'verbose;b;;' => 'With verbose messages.',
@@ -108,6 +109,10 @@
} elsif ($opt_dump) {
exit $EXIT_ERROR if (history_open(0) < 0);
history_dump();
+ history_close();
+} elsif ($opt_check) {
+ exit $EXIT_ERROR if (history_open(0) < 0);
+ history_check();
history_close();
} elsif ($opt_add ne '') {
my $p = expand_path($opt_add);
Index: IM/History.pm
===================================================================
RCS file: /home/ksakai/cvsroot/im-116/IM/History.pm,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 History.pm
--- History.pm 1999/06/08 06:59:38 1.1.1.1
+++ History.pm 1999/06/16 06:37:26
@@ -24,8 +24,8 @@
@ISA = qw(Exporter);
@EXPORT = qw(
LookUpAll LookUpMsg
- history_open history_close
- history_store history_lookup history_delete history_dump
+ history_open history_close history_store history_lookup
+ history_delete history_dump history_check
history_rename history_link
);
@@ -220,7 +220,6 @@
}
}
-
sub history_dump () {
if ($nodbfile) {
im_err("no database specified.\n");
@@ -229,6 +228,20 @@
my ($key, $val);
while (($key, $val) = each(%History)) {
print "$key\t$val\n";
+ }
+}
+
+sub history_check () {
+ if ($nodbfile) {
+ im_err("no database specified.\n");
+ return;
+ }
+ my ($key, $val);
+ while (($key, $val) = each(%History)) {
+ if ($val =~ ',') {
+ $val =~ s/,/ and /;
+ print "$val are dupulicate.\n";
+ }
}
}
Mew-dist メーリングリストの案内