This commit is contained in:
Nick Bebout 2011-03-12 02:43:50 +00:00
parent 06b00d41e4
commit 60f3bae1be
8 changed files with 59 additions and 30 deletions

View file

@ -1,15 +1,20 @@
RCS file: RCS/imapsync,v
Working file: imapsync
head: 1.64
head: 1.65
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 64; selected revisions: 64
total revisions: 65; selected revisions: 65
description:
----------------------------
revision 1.65
date: 2003/12/24 03:04:34; author: gilles; state: Exp; lines: +20 -7
Wrote separator_invert()
Use separator_invert() to transform separators
----------------------------
revision 1.64
date: 2003/12/23 19:45:46; author: gilles; state: Exp; lines: +5 -8
Removed auth capability debug

4
README
View file

@ -1,7 +1,7 @@
NAME
imapsync - synchronize mailboxes between two imap servers.
$Revision: 1.64 $
$Revision: 1.65 $
INSTALL
Get imapsync at
@ -184,5 +184,5 @@ SIMILAR SOFTWARES
Feedback (good or bad) will be always welcome.
$Id: imapsync,v 1.64 2003/12/23 19:45:46 gilles Exp $
$Id: imapsync,v 1.65 2003/12/24 03:04:34 gilles Exp $

4
TODO
View file

@ -6,10 +6,10 @@ Add a --recurse option.
Add --prefix1 option. Don't know what is the need exactly.
Pb if "to separator" is in "from folder" name.
DONE. Pb if "to separator" is in "from folder" name.
Have to choose a caracter != to separator and
not in from folders. The solution can be to
just exchange the two caracters.
just exchange the two separator caracters.
DONE. Look at the separator() function in Mail::IMAPClient

View file

@ -1 +1 @@
1.64
1.65

View file

@ -4,7 +4,7 @@
imapsync - synchronize mailboxes between two imap servers.
$Revision: 1.64 $
$Revision: 1.65 $
=head1 INSTALL
@ -220,7 +220,7 @@ Welcome in shell programming !
Feedback (good or bad) will be always welcome.
$Id: imapsync,v 1.64 2003/12/23 19:45:46 gilles Exp $
$Id: imapsync,v 1.65 2003/12/24 03:04:34 gilles Exp $
=cut
@ -251,7 +251,7 @@ my(
use vars qw ($opt_G); # missing code for this will be option.
$rcs = ' $Id: imapsync,v 1.64 2003/12/23 19:45:46 gilles Exp $ ';
$rcs = ' $Id: imapsync,v 1.65 2003/12/24 03:04:34 gilles Exp $ ';
$rcs =~ m/,v (\d+\.\d+)/;
$VERSION = ($1) ? $1 : "UNKNOWN";
@ -282,8 +282,8 @@ $error=0;
my $banner = join("",
'$RCSfile: imapsync,v $ ',
'$Revision: 1.64 $ ',
'$Date: 2003/12/23 19:45:46 $ ',
'$Revision: 1.65 $ ',
'$Date: 2003/12/24 03:04:34 $ ',
"\n",
"Mail::IMAPClient version used here is ",
$VERSION_IMAPClient, " auth md5 : $md5_supported",
@ -423,13 +423,26 @@ print
print
"From subscribed folders : ", map("[$_] ", keys(%fs_folders)), "\n";
sub separator_invert {
my $o_sep="\000";
my($f_fold, $f_sep, $t_sep) = @_;
my $t_fold = $f_fold;
$t_fold =~ s@\Q$t_sep@$o_sep@g;
$t_fold =~ s@\Q$f_sep@$t_sep@g;
$t_fold =~ s@\Q$o_sep@$f_sep@g;
return($t_fold);
}
FOLDER: foreach my $f_fold (@f_folders) {
my $t_fold;
print "From Folder [$f_fold]\n";
$t_fold = $f_fold;
$t_fold =~ s@\Q$f_sep@$t_sep@g unless ($f_sep eq $t_sep);
$t_fold = separator_invert($f_fold,$f_sep, $t_sep);
$t_fold = $prefix2 . $t_fold if ($prefix2);
print "To Folder [$t_fold]\n";
unless ($from->select($f_fold)) {
warn
"From Folder $f_fold : Could not select ",

0
learn/hugemigr Normal file → Executable file
View file

27
learn/separator Executable file
View file

@ -0,0 +1,27 @@
#!/usr/bin/perl -w
my $f_sep="/";
my $t_sep=".";
my $o_sep="\000";
foreach my $f_fold ("testsub/testsub3", "testsub.testsub3", "a.b/c.d/e" ) {
my $t_fold;
print "From Folder [$f_fold]\n";
$t_fold = $f_fold;
my $t_fold2 = $t_fold3 = $f_fold;
$t_fold =~ s@\Q$f_sep@$t_sep@g;
$t_fold2 =~ s@\Q$t_sep@$f_sep@g;
$t_fold3 =~ s@\Q$t_sep@$o_sep@g;
$t_fold4 = $t_fold3;
$t_fold4 =~ s@\Q$f_sep@$t_sep@g;
$t_fold5 = $t_fold4;
$t_fold5 =~ s@\Q$o_sep@$f_sep@g;
#$t_fold =~ s@/@.@g;
print "To /. Folder [$t_fold]\n";
print "To ./ Folder2[$t_fold2]\n";
print "To .0 Folder3[$t_fold3]\n";
print "To .0 Folder4[$t_fold4]\n";
print "To 0/ Folder5[$t_fold5]\n\n";
}

View file

@ -1,16 +0,0 @@
my $f_sep="/";
my $t_sep=".";
foreach my $f_fold ("testsub/testsub3", "testsub.testsub3" ) {
my $t_fold;
print "From Folder [$f_fold]\n";
$t_fold = $f_fold;
my $t_fold2 = $f_fold;
$t_fold =~ s@\Q$f_sep@$t_sep@g;
$t_fold2 =~ s@\Q$t_sep@$f_sep@g;
#$t_fold =~ s@/@.@g;
print "To /. Folder [$t_fold]\n";
print "To ./ Folder2[$t_fold2]\n\n";
}