[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 メーリングリストの案内