You can subscribe to this list here.
| 2003 |
Jan
|
Feb
(160) |
Mar
(119) |
Apr
(111) |
May
(118) |
Jun
(101) |
Jul
(304) |
Aug
(113) |
Sep
(140) |
Oct
(137) |
Nov
(87) |
Dec
(122) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(78) |
Feb
(125) |
Mar
(131) |
Apr
(59) |
May
(121) |
Jun
(166) |
Jul
(150) |
Aug
(137) |
Sep
(73) |
Oct
(58) |
Nov
(27) |
Dec
(60) |
| 2005 |
Jan
(131) |
Feb
(84) |
Mar
(36) |
Apr
(8) |
May
(28) |
Jun
(20) |
Jul
(10) |
Aug
(72) |
Sep
(76) |
Oct
(34) |
Nov
(3) |
Dec
(29) |
| 2006 |
Jan
(13) |
Feb
(92) |
Mar
(7) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(4) |
Aug
(17) |
Sep
(5) |
Oct
(2) |
Nov
(8) |
Dec
(12) |
| 2007 |
Jan
(28) |
Feb
(15) |
Mar
|
Apr
|
May
(8) |
Jun
(4) |
Jul
(5) |
Aug
(8) |
Sep
(20) |
Oct
(38) |
Nov
(65) |
Dec
(92) |
| 2008 |
Jan
(21) |
Feb
(56) |
Mar
(27) |
Apr
(174) |
May
(25) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <jgr...@us...> - 2003-07-09 21:15:42
|
Update of /cvsroot/popfile/engine/UI
In directory sc8-pr-cvs1:/tmp/cvs-serv10869/UI
Modified Files:
HTML.pm
Log Message:
Fix problem where the last message up the pipe from a proxy could get lost
Index: HTML.pm
===================================================================
RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v
retrieving revision 1.178
retrieving revision 1.179
diff -C2 -d -r1.178 -r1.179
*** HTML.pm 9 Jul 2003 18:18:23 -0000 1.178
--- HTML.pm 9 Jul 2003 21:15:40 -0000 1.179
***************
*** 289,294 ****
if ( $type eq 'NEWFL' ) {
$self->new_history_file__( $message );
- $self->{need_resort__} = 1;
}
--- 289,294 ----
if ( $type eq 'NEWFL' ) {
+ $self->log_( "Got NEWFL for $message" );
$self->new_history_file__( $message );
}
***************
*** 2315,2318 ****
--- 2315,2329 ----
my ( $self, $filter, $search, $sort ) = @_;
+ # If the need_resort__ is set then we reindex the history indexes
+
+ if ( $self->{need_resort__} == 1 ) {
+ my $i = 0;
+
+ foreach my $key (sort compare_mf keys %{$self->{history__}}) {
+ $self->{history__}{$key}{index} = $i;
+ $i += 1;
+ }
+ }
+
# Place entries in the history_keys array based on three critera:
#
***************
*** 2534,2537 ****
--- 2545,2549 ----
$self->{history_invalid__} = 0;
+ $self->{need_resort__} = 0;
$self->sort_filter_history( '', '', '' );
}
***************
*** 2617,2621 ****
$self->{history__}{$file}{cull} = 0;
! $index = $self->history_size() if ( !defined( $index ) );
$self->{history__}{$file}{index} = $index;
}
--- 2629,2637 ----
$self->{history__}{$file}{cull} = 0;
! if ( !defined( $index ) ) {
! $index = 0;
! $self->{need_resort__} = 1;
! }
!
$self->{history__}{$file}{index} = $index;
}
|
|
From: <jgr...@us...> - 2003-07-09 21:15:42
|
Update of /cvsroot/popfile/engine/Proxy
In directory sc8-pr-cvs1:/tmp/cvs-serv10869/Proxy
Modified Files:
NNTP.pm POP3.pm Proxy.pm SMTP.pm
Log Message:
Fix problem where the last message up the pipe from a proxy could get lost
Index: NNTP.pm
===================================================================
RCS file: /cvsroot/popfile/engine/Proxy/NNTP.pm,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** NNTP.pm 9 Jul 2003 18:18:21 -0000 1.12
--- NNTP.pm 9 Jul 2003 21:15:39 -0000 1.13
***************
*** 310,313 ****
--- 310,314 ----
close $news if defined( $news );
close $client;
+ print $pipe "CMPLT$eol";
close $pipe;
Index: POP3.pm
===================================================================
RCS file: /cvsroot/popfile/engine/Proxy/POP3.pm,v
retrieving revision 1.61
retrieving revision 1.62
diff -C2 -d -r1.61 -r1.62
*** POP3.pm 9 Jul 2003 18:18:21 -0000 1.61
--- POP3.pm 9 Jul 2003 21:15:39 -0000 1.62
***************
*** 402,407 ****
# Tell the parent that we just handled a mail
- print $pipe "CLASS:$class$eol";
print $pipe "NEWFL:$history_file$eol";
# Note locally that file has been retrieved
--- 402,407 ----
# Tell the parent that we just handled a mail
print $pipe "NEWFL:$history_file$eol";
+ print $pipe "CLASS:$class$eol";
# Note locally that file has been retrieved
***************
*** 440,443 ****
--- 440,444 ----
close $mail if defined( $mail );
close $client;
+ print $pipe "CMPLT$eol";
close $pipe;
Index: Proxy.pm
===================================================================
RCS file: /cvsroot/popfile/engine/Proxy/Proxy.pm,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** Proxy.pm 9 Jul 2003 18:18:21 -0000 1.18
--- Proxy.pm 9 Jul 2003 21:15:39 -0000 1.19
***************
*** 195,198 ****
--- 195,200 ----
$message =~ s/[\r\n]//g;
+ $self->log_( "Child proxy message $message" );
+
if ( $message =~ /CLASS:(.*)/ ) {
***************
*** 201,205 ****
$self->mq_post_( 'CLASS', $1, '' );
- $self->log_( "Incrementing $1" );
}
--- 203,206 ----
Index: SMTP.pm
===================================================================
RCS file: /cvsroot/popfile/engine/Proxy/SMTP.pm,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** SMTP.pm 9 Jul 2003 18:18:21 -0000 1.14
--- SMTP.pm 9 Jul 2003 21:15:39 -0000 1.15
***************
*** 245,248 ****
--- 245,250 ----
close $mail if defined( $mail );
close $client;
+ print $pipe "CMPLT$eol";
+ close $pipe;
}
|
|
From: <xue...@us...> - 2003-07-09 18:48:12
|
Update of /cvsroot/popfile/windows
In directory sc8-pr-cvs1:/tmp/cvs-serv8162
Modified Files:
installer.nsi
Log Message:
Updated the NSIS dependency data.
Index: installer.nsi
===================================================================
RCS file: /cvsroot/popfile/windows/installer.nsi,v
retrieving revision 1.84
retrieving revision 1.85
diff -C2 -d -r1.84 -r1.85
*** installer.nsi 9 Jul 2003 13:01:58 -0000 1.84
--- installer.nsi 9 Jul 2003 18:48:09 -0000 1.85
***************
*** 15,28 ****
; This script uses the new (simplified) page configuration system and other improvements.
;
! ; (2) '{NSIS}\makensis.exe' dated 8 July 2003 @ 18:44 (NSIS CVS version 1.203) or later
; This is required to ensure that out-of-date NLF files do not result in blank messages
; and to ensure that language strings can be combined with other strings.
;
! ; (3) '{NSIS}\NSIS\Contrib\UIs\modern.exe' dated xx July @ xx:xx (NSIS CVS v1.xxx) or later
; This is required to ensure the installer works properly when 'Japanese' is selected.
!
! ; NSIS CVS snapshot 09 July 2003 @ 07:44 has a partial fix for the 'Japanese' bug - but wordwrap
! ; has not been enabled for the enlarged "Space required" field on the components page
! ; (applies to all three "Modern UI" EXE files)
#--------------------------------------------------------------------------
--- 15,27 ----
; This script uses the new (simplified) page configuration system and other improvements.
;
! ; (2) '{NSIS}\makensis.exe' dated 08 July 2003 (NSIS CVS version 1.203) or later
; This is required to ensure that out-of-date NLF files do not result in blank messages
; and to ensure that language strings can be combined with other strings.
;
! ; (3) '{NSIS}\NSIS\Contrib\UIs\modern.exe' dated 09 July 2003 (NSIS CVS v1.31) or later
; This is required to ensure the installer works properly when 'Japanese' is selected.
! ;
! ; NSIS CVS snapshot dated 09 July 2003 @ 13:44 contains suitable versions of these NSIS files
! ; (the 09 July 2003 @ 07:44 snapshot is NOT suitable).
#--------------------------------------------------------------------------
|
Update of /cvsroot/popfile/engine/manual/no
In directory sc8-pr-cvs1:/tmp/cvs-serv8058
Modified Files:
email.html firewalls.html firsttime.html installing.html
manual.html multiple.html proxies.html spa.html training.html
Log Message:
Updated Norwegian manual
Index: email.html
===================================================================
RCS file: /cvsroot/popfile/engine/manual/no/email.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** email.html 5 Feb 2003 15:48:47 -0000 1.3
--- email.html 9 Jul 2003 18:47:03 -0000 1.4
***************
*** 1,655 ****
! <html><head><title>POPFile Dokumentasjon</title><style type=text/css>h1, h2, h3, p, td {font-family: sans-serif;}</style>
!
! </head>
!
! <body bgcolor=#fcfcfc><table width=100% cellspacing=0 cellpadding=0><tr><td bgcolor=#ededca> <font size=+3>POPFile Dokumentasjon</font><td bgcolor=#ededca align=right> <tr height=3 bgcolor=#cccc99><td colspan=2 height=3 bgcolor=#cccc99></td></tr></table><p>
!
! <table width=100% cellspacing=0><tr>
!
! <td width=15% align=center><font size=+1><b>Første gangs oppsett:</b></font></td>
!
[...970 lines suppressed...]
! <td style="font-family: sans-serif">
! <a href="https://sourceforge.net/docman/display_doc.php?docid=14421&group_id=63137">
! <font size="+1"><b>FAQ/OSS</b></font></a></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif">
! <a href="http://www.extravalent.com/software/donate.html"><font size="+1"><b>
! Doner</b></font></a></td>
! <td width=55% style="font-family: sans-serif"> </td></tr>
! <tr height=1><td colspan=9 bgcolor=#CCCCCC style="font-family: sans-serif"></td></tr>
! <tr height=1><td colspan=9 style="font-family: sans-serif"></td></tr>
! </table>
! <p><b>Velg språk: <a href="http://popfile.sourceforge.net/">English</a>
! <a href="http://popfile.sourceforge.net/manual/no/manual.html">Norsk</a>
! <a href="http://popfile.sourceforge.net/manual/de/manual.html">Deutsch</a>
! <a href="http://popfile.sourceforge.net/manual/br/manual.html">Português do
! Brasil</a> <a href="http://popfile.sourceforge.net/manual/fr/manual.html">
! Français</a> <a href="http://popfile.sourceforge.net/manual/da/manual.html">
! Dansk</a></b> </p>
!
! </body></html>
\ No newline at end of file
Index: firewalls.html
===================================================================
RCS file: /cvsroot/popfile/engine/manual/no/firewalls.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** firewalls.html 5 Feb 2003 15:48:47 -0000 1.3
--- firewalls.html 9 Jul 2003 18:47:03 -0000 1.4
***************
*** 1,155 ****
! <html><head><title>POPFile Dokumentasjon</title><style type=text/css>h1, h2, h3, p, td {font-family: sans-serif;}</style>
!
! </head>
!
! <body bgcolor=#fcfcfc><table width=100% cellspacing=0 cellpadding=0><tr><td bgcolor=#ededca> <font size=+3>POPFile Dokumentasjon</font><td bgcolor=#ededca align=right> <tr height=3 bgcolor=#cccc99><td colspan=2 height=3 bgcolor=#cccc99></td></tr></table><p>
!
! <table width=100% cellspacing=0><tr>
!
! <td width=15% align=center><font size=+1><b>Første gangs oppsett:</b></font></td>
!
! <td width=2></td>
!
! <td align=center bgcolor=#ededca width=15%>Trinn 1<br><font size=+1><b> <a href="installing.html">Installering</a></b></font></td>
!
! <td width=2></td>
!
! <td bgcolor=#ededca width=15% align=center>Trinn 2<br><font size=+1><b> <a href="firsttime.html">Bøtteoppsett</a></b></font></td>
!
! <td width=2></td>
!
! <td bgcolor=#ededca width=15% align=center>Trinn 3<br><font size=+1><b> <a href="email.html">E-post-programmer</a></b></font></td>
!
! <td width=2></td>
!
! <td align=center bgcolor=#ededca width=15%>Trinn 4<br><font size=+1><b> <a href="training.html">Trening</a></b></font></td>
!
! <td width=25%> </td></tr>
!
! <tr height=1><td colspan=10 bgcolor=#CCCCCC></td></tr>
!
! <tr height=1><td colspan=10></td></tr>
!
! </table>
!
! <table width=100% cellspacing=0><tr>
!
!
!
! <td width=40% align=right><font size="+1"><b>Bruke POPFile med:</b></font></td>
!
! <td width=2></td>
!
! <td align=center bgcolor=#ededca width=15%><font size=+1><b> </b></font><a href="firewalls.html"><font size="+1"><b>Brannmurer</b></font></a></td>
!
! <td width=2></td>
!
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="spa.html">Sikker </a></b></font>
!
! <a href="spa.html"><font size="+1"><b>Godkjenning av Passord</b></font></a></td>
!
! <td width=2></td>
!
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="proxies.html">Andre
!
! Proxy</a></b></font><br></td>
!
! <td width=2></td>
!
! <td align=center bgcolor=#ededca width=15%><font size=+1><b> </b></font><a href="multiple.html"><font size="+1"><b>Flere
!
! e-post-kontoer</b></font></a></td>
!
! </tr>
!
!
!
! </table>
!
! <table width=100% cellpadding=12 cellspacing=0 bordercolor=#cccc99 border=2><tr><td width=100% valign=top bgcolor=#ededca>
!
!
!
!
!
! <h2>Bruke POPFile sammen med Brannmurer (firewalls)</h2>
!
!
!
! <p>POPFile trenger å bli gitt fulle rettigheter til å opptre som server på din
!
! lokale maskin, og ha rettighet til å ha tilgang til resten av Internett. Husk at,
!
! siden POPFile er programert i programmeringsspråket Perl, så må du gi samme
!
! rettigheter til perl.exe, wperl.exe, eller din Perl 'parser' på andre
!
! operativsystemer.
!
!
!
! <p>I ZoneAlarm kan du ganske enkelt svare 'Yes' til alle spørsmål du får og hake
!
! av for 'Always allow...' boksen. POPFile trenger ikke rettighet som server på
!
! Internett, så lenge du ikke ønsker at andre utenfor din egen maskin skal ha
!
! tilgang til din POPFile.</p>
!
!
!
! <p><b>Viktig:</b> dette gir alle Perl-programmer rettighet til å opptre som
!
! server!</p>
!
!
!
! <p>Det er for tiden ingen kjente problemer med POPFile i forhold til brannmurer,
!
! så lenge POPFile har blitt gitt rettighet til å knytte seg til den porten det er
!
! satt opp til å bruke.</p>
!
!
!
! <p>Under ser du hvordan oppsettet kan se ut i brannmuren ZoneAlarm:</p>
!
!
!
! <center>
!
! <img src=../zonealaram.gif width="767" height="511"></center>
!
!
!
! </td></tr></table>
!
! <br>
!
! <table width=100% cellspacing=0><tr>
!
! <td width=15% align=center><font size=+1><b>Weblinker:</b></font></td>
!
! <td width=2></td>
!
! <td align=center bgcolor=#cccc99 width=15%><font size=+1><b> <a href="http://popfile.sourceforge.net">Hjemmeside</a></b></font></td>
!
! <td width=2></td>
!
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
!
! <td width=2></td>
!
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
!
! <td width=55%> </td></tr>
!
! <tr height=1><td colspan=10 bgcolor=#CCCCCC></td></tr>
!
! <tr height=1><td colspan=10></td></tr>
!
! </table>
!
!
!
! </body></html>
--- 1,93 ----
! <html><head><title>POPFile Dokumentasjon</title><style type=text/css>h1, h2, h3, p, td {font-family: sans-serif;}</style>
! </head>
! <body bgcolor=#fcfcfc><table width=100% cellspacing=0 cellpadding=0><tr><td bgcolor=#ededca> <font size=+3>POPFile Dokumentasjon</font><td bgcolor=#ededca align=right> <tr height=3 bgcolor=#cccc99><td colspan=2 height=3 bgcolor=#cccc99></td></tr></table><p>
! <table width=100% cellspacing=0><tr>
! <td width=15% align=center><font size=+1><b>Første gangs oppsett:</b></font></td>
! <td width=2></td>
! <td align=center bgcolor=#ededca width=15%>Trinn 1<br><font size=+1><b> <a href="installing.html">Installering</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center>Trinn 2<br><font size=+1><b> <a href="firsttime.html">Bøtteoppsett</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center>Trinn 3<br><font size=+1><b> <a href="email.html">E-post-programmer</a></b></font></td>
! <td width=2></td>
! <td align=center bgcolor=#ededca width=15%>Trinn 4<br><font size=+1><b> <a href="training.html">Trening</a></b></font></td>
! <td width=25%> </td></tr>
! <tr height=1><td colspan=10 bgcolor=#CCCCCC></td></tr>
! <tr height=1><td colspan=10></td></tr>
! </table>
! <table width=100% cellspacing=0><tr>
!
! <td width=40% align=right><font size="+1"><b>Bruke POPFile med:</b></font></td>
! <td width=2></td>
! <td align=center bgcolor=#ededca width=15%><font size=+1><b> </b></font><a href="firewalls.html"><font size="+1"><b>Brannmurer</b></font></a></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="spa.html">Sikker </a></b></font>
! <a href="spa.html"><font size="+1"><b>Godkjenning av Passord</b></font></a></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="proxies.html">Andre
! Proxy</a></b></font><br></td>
! <td width=2></td>
! <td align=center bgcolor=#ededca width=15%><font size=+1><b> </b></font><a href="multiple.html"><font size="+1"><b>Flere
! e-post-kontoer</b></font></a></td>
! </tr>
!
! </table>
! <table width=100% cellpadding=12 cellspacing=0 bordercolor=#cccc99 border=2><tr><td width=100% valign=top bgcolor=#ededca>
!
!
! <h2>Bruke POPFile sammen med Brannmurer (firewalls)</h2>
!
! <p>POPFile trenger å bli gitt fulle rettigheter til å opptre som server på din
! lokale maskin, og ha rettighet til å ha tilgang til resten av Internett. Husk at,
! siden POPFile er programert i programmeringsspråket Perl, så må du gi samme
! rettigheter til perl.exe, wperl.exe, eller din Perl 'parser' på andre
! operativsystemer.
!
! <p>I ZoneAlarm kan du ganske enkelt svare 'Yes' til alle spørsmål du får og hake
! av for 'Always allow...' boksen. POPFile trenger ikke rettighet som server på
! Internett, så lenge du ikke ønsker at andre utenfor din egen maskin skal ha
! tilgang til din POPFile.</p>
!
! <p><b>Viktig:</b> dette gir alle Perl-programmer rettighet til å opptre som
! server!</p>
!
! <p>Det er for tiden ingen kjente problemer med POPFile i forhold til brannmurer,
! så lenge POPFile har blitt gitt rettighet til å knytte seg til den porten det er
! satt opp til å bruke.</p>
!
! <p>Under ser du hvordan oppsettet kan se ut i brannmuren ZoneAlarm:</p>
!
! <center>
! <img src=http://popfile.sourceforge.net/manual/zonealaram.gif width="767" height="511"></center>
!
! </td></tr></table>
! <br>
! <table width=100% cellspacing=0><tr>
! <td width=15% align=center style="font-family: sans-serif"><font size=+1><b>Weblinker:</b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td align=center bgcolor=#cccc99 width=15% style="font-family: sans-serif"><font size=+1><b> <a href="http://popfile.sourceforge.net">H</a></b></font><a href="http://popfile.sourceforge.net"><font size="+1"><b>jemmeside</b></font></a></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif"><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td style="font-family: sans-serif"><font size=+1><b><a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
! <td style="font-family: sans-serif"><a href="http://sourceforge.net/project/showfiles.php?group_id=63137">
! <font size="+1"><b>Nedlasting</b></font></a></td>
! <td style="font-family: sans-serif">
! <a href="https://sourceforge.net/docman/display_doc.php?docid=14421&group_id=63137">
! <font size="+1"><b>FAQ/OSS</b></font></a></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif">
! <a href="http://www.extravalent.com/software/donate.html"><font size="+1"><b>
! Doner</b></font></a></td>
! <td width=55% style="font-family: sans-serif"> </td></tr>
! <tr height=1><td colspan=9 bgcolor=#CCCCCC style="font-family: sans-serif"></td></tr>
! <tr height=1><td colspan=9 style="font-family: sans-serif"></td></tr>
! </table>
! <p><b>Velg språk: <a href="http://popfile.sourceforge.net/">English</a>
! <a href="http://popfile.sourceforge.net/manual/no/manual.html">Norsk</a>
! <a href="http://popfile.sourceforge.net/manual/de/manual.html">Deutsch</a>
! <a href="http://popfile.sourceforge.net/manual/br/manual.html">Português do
! Brasil</a> <a href="http://popfile.sourceforge.net/manual/fr/manual.html">
! Français</a> <a href="http://popfile.sourceforge.net/manual/da/manual.html">
! Dansk</a></b> </p>
!
! </body></html>
\ No newline at end of file
Index: firsttime.html
===================================================================
RCS file: /cvsroot/popfile/engine/manual/no/firsttime.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** firsttime.html 8 Jan 2003 21:05:18 -0000 1.2
--- firsttime.html 9 Jul 2003 18:47:03 -0000 1.3
***************
*** 73,87 ****
<br>
<table width=100% cellspacing=0><tr>
! <td width=15% align=center><font size="+1"><b>Weblinker:</b></font></td>
! <td width=2></td>
! <td align=center bgcolor=#cccc99 width=15%><font size=+1><b> <a href="http://popfile.sourceforge.net">Hjemmeside</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> </b></font><a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956"><font size="+1"><b>Feildatabase</b></font></a></td>
! <td width=55%> </td></tr>
! <tr height=1><td colspan=10 bgcolor=#CCCCCC></td></tr>
! <tr height=1><td colspan=10></td></tr>
</table>
</body></html>
--- 73,102 ----
<br>
<table width=100% cellspacing=0><tr>
! <td width=15% align=center style="font-family: sans-serif"><font size=+1><b>Weblinker:</b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td align=center bgcolor=#cccc99 width=15% style="font-family: sans-serif"><font size=+1><b> <a href="http://popfile.sourceforge.net">H</a></b></font><a href="http://popfile.sourceforge.net"><font size="+1"><b>jemmeside</b></font></a></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif"><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td style="font-family: sans-serif"><font size=+1><b><a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
! <td style="font-family: sans-serif"><a href="http://sourceforge.net/project/showfiles.php?group_id=63137">
! <font size="+1"><b>Nedlasting</b></font></a></td>
! <td style="font-family: sans-serif">
! <a href="https://sourceforge.net/docman/display_doc.php?docid=14421&group_id=63137">
! <font size="+1"><b>FAQ/OSS</b></font></a></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif">
! <a href="http://www.extravalent.com/software/donate.html"><font size="+1"><b>
! Doner</b></font></a></td>
! <td width=55% style="font-family: sans-serif"> </td></tr>
! <tr height=1><td colspan=9 bgcolor=#CCCCCC style="font-family: sans-serif"></td></tr>
! <tr height=1><td colspan=9 style="font-family: sans-serif"></td></tr>
</table>
+ <p><b>Velg språk: <a href="http://popfile.sourceforge.net/">English</a>
+ <a href="http://popfile.sourceforge.net/manual/no/manual.html">Norsk</a>
+ <a href="http://popfile.sourceforge.net/manual/de/manual.html">Deutsch</a>
+ <a href="http://popfile.sourceforge.net/manual/br/manual.html">Português do
+ Brasil</a> <a href="http://popfile.sourceforge.net/manual/fr/manual.html">
+ Français</a> <a href="http://popfile.sourceforge.net/manual/da/manual.html">
+ Dansk</a></b> </p>
</body></html>
Index: installing.html
===================================================================
RCS file: /cvsroot/popfile/engine/manual/no/installing.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** installing.html 8 Jan 2003 21:05:18 -0000 1.2
--- installing.html 9 Jul 2003 18:47:03 -0000 1.3
***************
*** 47,52 ****
<h3>Lettinstallert Windowsversjon</h3>
! <p>Last ned installasjonsfilen beregnet for Windows
! <a href=http://popfile.sourceforge.net/>Hjemmesiden til POPFile</a>, og kjør <tt>setup.exe</tt>
og følg instruksjonene på skjermen. Deretter kan du kjøre POPFile fra Startmenyen (Start > Programmer > POPFile > Run POPFile in Background),
eller start maskinen på nytt og POPFile vil starte automatisk. <b>Viktig:</b>
--- 47,53 ----
<h3>Lettinstallert Windowsversjon</h3>
! <p>Last ned installasjonsfilen beregnet for Windows fra
! <a href="http://sourceforge.net/project/showfiles.php?group_id=63137">
! Nedlastingssiden til POPFile</a>, og kjør <tt><font size="4">setup.exe</font></tt>
og følg instruksjonene på skjermen. Deretter kan du kjøre POPFile fra Startmenyen (Start > Programmer > POPFile > Run POPFile in Background),
eller start maskinen på nytt og POPFile vil starte automatisk. <b>Viktig:</b>
***************
*** 105,119 ****
<br>
<table width=100% cellspacing=0><tr>
! <td width=15% align=center><font size=+1><b>Weblinker:</b></font></td>
! <td width=2></td>
! <td align=center bgcolor=#cccc99 width=15%><font size=+1><b> <a href="http://popfile.sourceforge.net">Hjemmeside</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
! <td width=55%> </td></tr>
! <tr height=1><td colspan=10 bgcolor=#CCCCCC></td></tr>
! <tr height=1><td colspan=10></td></tr>
</table>
</body></html>
--- 106,135 ----
<br>
<table width=100% cellspacing=0><tr>
! <td width=15% align=center style="font-family: sans-serif"><font size=+1><b>Weblinker:</b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td align=center bgcolor=#cccc99 width=15% style="font-family: sans-serif"><font size=+1><b> <a href="http://popfile.sourceforge.net">H</a></b></font><a href="http://popfile.sourceforge.net"><font size="+1"><b>jemmeside</b></font></a></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif"><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td style="font-family: sans-serif"><font size=+1><b><a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
! <td style="font-family: sans-serif"><a href="http://sourceforge.net/project/showfiles.php?group_id=63137">
! <font size="+1"><b>Nedlasting</b></font></a></td>
! <td style="font-family: sans-serif">
! <a href="https://sourceforge.net/docman/display_doc.php?docid=14421&group_id=63137">
! <font size="+1"><b>FAQ/OSS</b></font></a></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif">
! <a href="http://www.extravalent.com/software/donate.html"><font size="+1"><b>
! Doner</b></font></a></td>
! <td width=55% style="font-family: sans-serif"> </td></tr>
! <tr height=1><td colspan=9 bgcolor=#CCCCCC style="font-family: sans-serif"></td></tr>
! <tr height=1><td colspan=9 style="font-family: sans-serif"></td></tr>
</table>
+ <p><b>Velg språk: <a href="http://popfile.sourceforge.net/">English</a>
+ <a href="http://popfile.sourceforge.net/manual/no/manual.html">Norsk</a>
+ <a href="http://popfile.sourceforge.net/manual/de/manual.html">Deutsch</a>
+ <a href="http://popfile.sourceforge.net/manual/br/manual.html">Português do
+ Brasil</a> <a href="http://popfile.sourceforge.net/manual/fr/manual.html">
+ Français</a> <a href="http://popfile.sourceforge.net/manual/da/manual.html">
+ Dansk</a></b> </p>
</body></html>
Index: manual.html
===================================================================
RCS file: /cvsroot/popfile/engine/manual/no/manual.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** manual.html 8 Jan 2003 21:05:18 -0000 1.2
--- manual.html 9 Jul 2003 18:47:03 -0000 1.3
***************
*** 75,82 ****
<td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
<td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
<td width=55%> </td></tr>
! <tr height=1><td colspan=10 bgcolor=#CCCCCC></td></tr>
! <tr height=1><td colspan=10></td></tr>
</table>
</body></html>
--- 75,142 ----
<td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
<td width=2></td>
! <td><font size=+1><b><a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
! <td><a href="http://sourceforge.net/project/showfiles.php?group_id=63137">
! <font size="+1"><b>Nedlasting</b></font></a></td>
! <td>
! <a href="https://sourceforge.net/docman/display_doc.php?docid=14421&group_id=63137">
! <font size="+1"><b>FAQ/OSS</b></font></a></td>
! <td bgcolor=#ededca width=15% align=center>
! <a href="http://www.extravalent.com/software/donate.html"><font size="+1"><b>
! Doner</b></font></a></td>
<td width=55%> </td></tr>
! <tr height=1><td colspan=9 bgcolor=#CCCCCC></td></tr>
! <tr height=1><td colspan=9></td></tr>
! </table>
! <p><b>Velg språk: <a href="http://popfile.sourceforge.net/">English</a>
! <a href="http://popfile.sourceforge.net/manual/no/manual.html">Norsk</a>
! <a href="http://popfile.sourceforge.net/manual/de/manual.html">Deutsch</a>
! <a href="http://popfile.sourceforge.net/manual/br/manual.html">Português do
! Brasil</a> <a href="http://popfile.sourceforge.net/manual/fr/manual.html">
! Français</a> <a href="http://popfile.sourceforge.net/manual/da/manual.html">
! Dansk</a></b> </p>
! <p> </p>
! <hr>
! <h2>Sagt i pressen</h2>
! <p> </p>
! <blockquote>
! <p><font face="sans-serif"><b>In a short time, POPFile can achieve amazing
! accuracy</b> -- The Washington Post, February 2, 2003 </p>
! <p><b>It's free, open source, multi-platform and very cool. [...], with
! surprisingly little training of the engine, it's helped to turn the tide for
! me.</b> -- Darwin Magazine, January 29, 2002 </p>
! <p><b>POPfile has the truly revolutionary feel that the first Web browsers and
! instant message clients had.</b> -- InternetWeek, February 18, 2003 </p>
! <p><b>It represents a significant change in Internet communications. </b>--
! InternetWeek, February 18, 2003 </p>
! <p><b>POPFile [...] does a wonderful job.</b> -- New Scientist, March 8, 2003
! </p>
! </blockquote>
! <p> </p>
! <hr>
! <table width="100%">
! <tr vAlign="top">
! <td align="middle" style="font-family: sans-serif">
! <a href="http://sourceforge.net">POPFile is hosted by SourceForge
! <p>
! <img height="62" alt="SourceForge.net Logo" src="http://sourceforge.net/sflogo.php?group_id=63137&type=5" width="210" border="0"></a></td>
! <td align="middle" style="font-family: sans-serif"><a href>POPFile is open
! source software
! <p>
! <img alt="OSI Certified Open Source Software" src="http://opensource.org/trademarks/osi-certified/web/osi-certified-120x100.gif" border="0" width="120" height="100"></a></td>
! <td align="middle" style="font-family: sans-serif">
! <a href="http://validator.w3.org/">The POPFile v0.18.0+ UI is valid HTML
! 4.01<br>
! and valid CSS1
! <p>
! <img src="http://www.w3.org/Icons/valid-html401.gif" border="0" width="88" height="31">
! <img src="http://www.w3.org/Icons/valid-css.gif" border="0" width="88" height="31"></a></td>
! <td align="middle" style="font-family: sans-serif">
! <a title="Bobby's Home Page" href="http://bobby.watchfire.com/">The POPFile
! v0.18.1+ UI is Bobby Approved<br>
! and meets Conformance level AA
! <p>
! <img alt="Bobby WorldWide Approved AA" src="http://popfile.sourceforge.net/approved_aa.gif" border="0" width="88" height="31"></a></td>
! </tr>
</table>
+ </font>
</body></html>
Index: multiple.html
===================================================================
RCS file: /cvsroot/popfile/engine/manual/no/multiple.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** multiple.html 8 Jan 2003 21:05:19 -0000 1.2
--- multiple.html 9 Jul 2003 18:47:03 -0000 1.3
***************
*** 48,62 ****
<br>
<table width=100% cellspacing=0><tr>
! <td width=15% align=center><font size=+1><b>Weblinker:</b></font></td>
! <td width=2></td>
! <td align=center bgcolor=#cccc99 width=15%><font size=+1><b> <a href="http://popfile.sourceforge.net">Hjemmeside</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
! <td width=55%> </td></tr>
! <tr height=1><td colspan=10 bgcolor=#CCCCCC></td></tr>
! <tr height=1><td colspan=10></td></tr>
</table>
</body></html>
--- 48,77 ----
<br>
<table width=100% cellspacing=0><tr>
! <td width=15% align=center style="font-family: sans-serif"><font size=+1><b>Weblinker:</b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td align=center bgcolor=#cccc99 width=15% style="font-family: sans-serif"><font size=+1><b> <a href="http://popfile.sourceforge.net">H</a></b></font><a href="http://popfile.sourceforge.net"><font size="+1"><b>jemmeside</b></font></a></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif"><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td style="font-family: sans-serif"><font size=+1><b><a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
! <td style="font-family: sans-serif"><a href="http://sourceforge.net/project/showfiles.php?group_id=63137">
! <font size="+1"><b>Nedlasting</b></font></a></td>
! <td style="font-family: sans-serif">
! <a href="https://sourceforge.net/docman/display_doc.php?docid=14421&group_id=63137">
! <font size="+1"><b>FAQ/OSS</b></font></a></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif">
! <a href="http://www.extravalent.com/software/donate.html"><font size="+1"><b>
! Doner</b></font></a></td>
! <td width=55% style="font-family: sans-serif"> </td></tr>
! <tr height=1><td colspan=9 bgcolor=#CCCCCC style="font-family: sans-serif"></td></tr>
! <tr height=1><td colspan=9 style="font-family: sans-serif"></td></tr>
</table>
+ <p><b>Velg språk: <a href="http://popfile.sourceforge.net/">English</a>
+ <a href="http://popfile.sourceforge.net/manual/no/manual.html">Norsk</a>
+ <a href="http://popfile.sourceforge.net/manual/de/manual.html">Deutsch</a>
+ <a href="http://popfile.sourceforge.net/manual/br/manual.html">Português do
+ Brasil</a> <a href="http://popfile.sourceforge.net/manual/fr/manual.html">
+ Français</a> <a href="http://popfile.sourceforge.net/manual/da/manual.html">
+ Dansk</a></b> </p>
</body></html>
Index: proxies.html
===================================================================
RCS file: /cvsroot/popfile/engine/manual/no/proxies.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** proxies.html 8 Jan 2003 21:05:19 -0000 1.2
--- proxies.html 9 Jul 2003 18:47:03 -0000 1.3
***************
*** 141,155 ****
<br>
<table width=100% cellspacing=0><tr>
! <td width=15% align=center><font size=+1><b>Weblinker:</b></font></td>
! <td width=2></td>
! <td align=center bgcolor=#cccc99 width=15%><font size=+1><b> <a href="http://popfile.sourceforge.net">Hjemmeside</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> </b></font><a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956"><font size="+1"><b>Feildatabase</b></font></a></td>
! <td width=55%> </td></tr>
! <tr height=1><td colspan=10 bgcolor=#CCCCCC></td></tr>
! <tr height=1><td colspan=10></td></tr>
</table>
</body></html>
--- 141,170 ----
<br>
<table width=100% cellspacing=0><tr>
! <td width=15% align=center style="font-family: sans-serif"><font size=+1><b>Weblinker:</b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td align=center bgcolor=#cccc99 width=15% style="font-family: sans-serif"><font size=+1><b> <a href="http://popfile.sourceforge.net">H</a></b></font><a href="http://popfile.sourceforge.net"><font size="+1"><b>jemmeside</b></font></a></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif"><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td style="font-family: sans-serif"><font size=+1><b><a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
! <td style="font-family: sans-serif"><a href="http://sourceforge.net/project/showfiles.php?group_id=63137">
! <font size="+1"><b>Nedlasting</b></font></a></td>
! <td style="font-family: sans-serif">
! <a href="https://sourceforge.net/docman/display_doc.php?docid=14421&group_id=63137">
! <font size="+1"><b>FAQ/OSS</b></font></a></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif">
! <a href="http://www.extravalent.com/software/donate.html"><font size="+1"><b>
! Doner</b></font></a></td>
! <td width=55% style="font-family: sans-serif"> </td></tr>
! <tr height=1><td colspan=9 bgcolor=#CCCCCC style="font-family: sans-serif"></td></tr>
! <tr height=1><td colspan=9 style="font-family: sans-serif"></td></tr>
</table>
+ <p><b>Velg språk: <a href="http://popfile.sourceforge.net/">English</a>
+ <a href="http://popfile.sourceforge.net/manual/no/manual.html">Norsk</a>
+ <a href="http://popfile.sourceforge.net/manual/de/manual.html">Deutsch</a>
+ <a href="http://popfile.sourceforge.net/manual/br/manual.html">Português do
+ Brasil</a> <a href="http://popfile.sourceforge.net/manual/fr/manual.html">
+ Français</a> <a href="http://popfile.sourceforge.net/manual/da/manual.html">
+ Dansk</a></b> </p>
</body></html>
Index: spa.html
===================================================================
RCS file: /cvsroot/popfile/engine/manual/no/spa.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** spa.html 8 Jan 2003 21:05:19 -0000 1.2
--- spa.html 9 Jul 2003 18:47:03 -0000 1.3
***************
*** 68,82 ****
<br>
<table width=100% cellspacing=0><tr>
! <td width=15% align=center><font size=+1><b>Weblinker:</b></font></td>
! <td width=2></td>
! <td align=center bgcolor=#cccc99 width=15%><font size=+1><b> <a href="http://popfile.sourceforge.net">Hjemmeside</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> </b></font><a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956"><font size="+1"><b>Feildatabase</b></font></a></td>
! <td width=55%> </td></tr>
! <tr height=1><td colspan=10 bgcolor=#CCCCCC></td></tr>
! <tr height=1><td colspan=10></td></tr>
</table>
</body></html>
--- 68,97 ----
<br>
<table width=100% cellspacing=0><tr>
! <td width=15% align=center style="font-family: sans-serif"><font size=+1><b>Weblinker:</b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td align=center bgcolor=#cccc99 width=15% style="font-family: sans-serif"><font size=+1><b> <a href="http://popfile.sourceforge.net">H</a></b></font><a href="http://popfile.sourceforge.net"><font size="+1"><b>jemmeside</b></font></a></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif"><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td style="font-family: sans-serif"><font size=+1><b><a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
! <td style="font-family: sans-serif"><a href="http://sourceforge.net/project/showfiles.php?group_id=63137">
! <font size="+1"><b>Nedlasting</b></font></a></td>
! <td style="font-family: sans-serif">
! <a href="https://sourceforge.net/docman/display_doc.php?docid=14421&group_id=63137">
! <font size="+1"><b>FAQ/OSS</b></font></a></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif">
! <a href="http://www.extravalent.com/software/donate.html"><font size="+1"><b>
! Doner</b></font></a></td>
! <td width=55% style="font-family: sans-serif"> </td></tr>
! <tr height=1><td colspan=9 bgcolor=#CCCCCC style="font-family: sans-serif"></td></tr>
! <tr height=1><td colspan=9 style="font-family: sans-serif"></td></tr>
</table>
+ <p><b>Velg språk: <a href="http://popfile.sourceforge.net/">English</a>
+ <a href="http://popfile.sourceforge.net/manual/no/manual.html">Norsk</a>
+ <a href="http://popfile.sourceforge.net/manual/de/manual.html">Deutsch</a>
+ <a href="http://popfile.sourceforge.net/manual/br/manual.html">Português do
+ Brasil</a> <a href="http://popfile.sourceforge.net/manual/fr/manual.html">
+ Français</a> <a href="http://popfile.sourceforge.net/manual/da/manual.html">
+ Dansk</a></b></p>
</body></html>
Index: training.html
===================================================================
RCS file: /cvsroot/popfile/engine/manual/no/training.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** training.html 8 Jan 2003 21:05:19 -0000 1.2
--- training.html 9 Jul 2003 18:47:03 -0000 1.3
***************
*** 42,46 ****
praksis. Det vil ta litt tid å trene opp programmet.</p>
! <h3>Når POPFile gjør en feil (...og det vil det!)</h3>
<p>POPFiles klassifikasjonssystem trenger en del opplæring før det blir
--- 42,46 ----
praksis. Det vil ta litt tid å trene opp programmet.</p>
! <h3>Når POPFile gjør en feil (...og det vil skje - særlig i starten!)</h3>
<p>POPFiles klassifikasjonssystem trenger en del opplæring før det blir
***************
*** 72,87 ****
<h3>
<br>
<table width=100% cellspacing=0><tr>
! <td width=15% align=center><font size=+1><b>Weblinker:</b></font></td>
! <td width=2></td>
! <td align=center bgcolor=#cccc99 width=15%><font size=+1><b> <a href="http://popfile.sourceforge.net">Hjemmeside</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2></td>
! <td bgcolor=#ededca width=15% align=center><font size=+1><b> <a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
! <td width=55%> </td></tr>
! <tr height=1><td colspan=10 bgcolor=#CCCCCC></td></tr>
! <tr height=1><td colspan=10></td></tr>
</table>
</body></html>
--- 72,103 ----
<h3>
<br>
+ </h3>
<table width=100% cellspacing=0><tr>
! <td width=15% align=center style="font-family: sans-serif"><font size=+1><b>Weblinker:</b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td align=center bgcolor=#cccc99 width=15% style="font-family: sans-serif"><font size=+1><b> <a href="http://popfile.sourceforge.net">H</a></b></font><a href="http://popfile.sourceforge.net"><font size="+1"><b>jemmeside</b></font></a></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif"><font size=+1><b> <a href="http://sourceforge.net/forum/?group_id=63137">Diskusjonsforum</a></b></font></td>
! <td width=2 style="font-family: sans-serif"></td>
! <td style="font-family: sans-serif"><font size=+1><b><a href="http://sourceforge.net/tracker/?group_id=63137&atid=502956">Feildatabase</a></b></font></td>
! <td style="font-family: sans-serif"><a href="http://sourceforge.net/project/showfiles.php?group_id=63137">
! <font size="+1"><b>Nedlasting</b></font></a></td>
! <td style="font-family: sans-serif">
! <a href="https://sourceforge.net/docman/display_doc.php?docid=14421&group_id=63137">
! <font size="+1"><b>FAQ/OSS</b></font></a></td>
! <td bgcolor=#ededca width=15% align=center style="font-family: sans-serif">
! <a href="http://www.extravalent.com/software/donate.html"><font size="+1"><b>
! Doner</b></font></a></td>
! <td width=55% style="font-family: sans-serif"> </td></tr>
! <tr height=1><td colspan=9 bgcolor=#CCCCCC style="font-family: sans-serif"></td></tr>
! <tr height=1><td colspan=9 style="font-family: sans-serif"></td></tr>
</table>
+ <p><b>Velg språk: <a href="http://popfile.sourceforge.net/">English</a>
+ <a href="http://popfile.sourceforge.net/manual/no/manual.html">Norsk</a>
+ <a href="http://popfile.sourceforge.net/manual/de/manual.html">Deutsch</a>
+ <a href="http://popfile.sourceforge.net/manual/br/manual.html">Português do
+ Brasil</a> <a href="http://popfile.sourceforge.net/manual/fr/manual.html">
+ Français</a> <a href="http://popfile.sourceforge.net/manual/da/manual.html">
+ Dansk</a></b> </p>
</body></html>
|
|
From: <jgr...@us...> - 2003-07-09 18:18:58
|
Update of /cvsroot/popfile/engine/tests
In directory sc8-pr-cvs1:/tmp/cvs-serv2831/tests
Modified Files:
TestMailParse.tst
Added Files:
TestLogger.tst
Log Message:
PERFORMANCE CHANGES
Bayes.pm: Added new add_messages_to_bucket API to add multiple messages to a
bucket at the same time with a single read/write of the appropriate
corpus table for speed.
New write_line__ method to write a line to a MSG file and optionally
to the parse_line API of MailParse.pm. Now we write a file to disk
and parse it without reloading the MSG file from disk for speed.
The MSG gets a temporary name until the CLS file is written to prevent
the history from reloading in the middle of a download ending up with
a message with a class file error
classify_file becomes classify and can classify either from a file
or from the preparsed information in the parser
classify_and_modify returns the name of the file where the message
was stored in addition to the classification.
HTML.pm: Use add_messages_to_bucket API to reclassification for speed.
Use the new classify method in Bayes.pm to classify a file after it
has been digested by the parser for colorization and get the word
scores. This means we only load the MSG file once (used to be
twice) and hence double the speed of viewing a colorized message.
New method load_disk_cache__ and save_disk_cache__ are used to
keep a copy of the history cache on disk between sessions so that
session start up is as fast as possible. There will be no need
to parse messages for header information on start up if the
history_cache file is present.
Removed the boundary feature because it is incompatible with the
concept of a "download" since we now send new history file messages
async. through the MQ.
Load the history cache progessively as files are written. The proxies
send the message NEWFL and the method new_history_file__ adds the
file to the history. This is done so that when the user hits the
History tab button after a mail download the history cache is
already loaded and there should be no delay in displaying the
history page.
MailParse.pm: Renamed parse_stream to parse_file since that's a better name
New start_parse, stop_parse and parse_line APIs so that a file can
be parsed line by line.
MQ.pm: Defined a new message type NEWFL which is used to indicate that
a file has been added to the history cache. NEWFL's message
is the name of the file (the MSG file) that was added.
POP3.pm: Send the NEWFL message through the pipe to the parent so that
the history is aware of new messages.
SMTP.pm:
NNTP.pm: Send CLASS and NEWFL messages through the pipe to the parent.
insert.pl: Updated to use new parse_file API
bayes.pl: Updated to use new classify not classify_file API.
TEST SUITE CHANGES
tests.pl: New test_assert_regexp function for doing fuzzy matching of
test results.
Returns 0 if all tests run successfully, and 1 if there are
any errors
TestLogger.tst: New file for testing POPFile::Logger functionality.
Makefile: The test target has a variable TESTARGS can be set with the
specific module (or modules using glob patterns) to run.
For example: gmake test TESTARGS='TestLogger'
There's a new coverage target to run the test suite and output
code coverage information for the modules used.
TestCoverage.pm: New module that provides line coverage information for
the test suite. Executed as a Perl debugger using the -d
switch and outputs code coverage information for all
POPFile files tested.
--- NEW FILE: TestLogger.tst ---
# ---------------------------------------------------------------------------------------------
#
# Tests for Logger.pm
#
# Copyright (c) 2003 John Graham-Cumming
#
# ---------------------------------------------------------------------------------------------
use POPFile::Configuration;
use POPFile::MQ;
use POPFile::Logger;
my $c = new POPFile::Configuration;
my $mq = new POPFile::MQ;
my $l = new POPFile::Logger;
$c->configuration( $c );
$c->mq( $mq );
$c->logger( $l );
$l->configuration( $c );
$l->mq( $mq );
$l->logger( $l );
$l->initialize();
$mq->configuration( $c );
$mq->mq( $mq );
$mq->logger( $l );
# Test basic setup, name of the module, debug file location
# logging option
test_assert_equal( $l->name(), 'logger' );
test_assert_equal( $l->config_('logdir'), './' );
test_assert_equal( $l->global_config_('debug'), 1 );
# Change the log locatioin
$l->config_( 'logdir', 'tests/' );
test_assert_equal( $l->config_('logdir'), 'tests/' );
$l->calculate_today__();
test_assert_regexp( $l->debug_filename(), 'tests/' );
# Test that the last ten functionality works
my @last_ten = $l->last_ten();
test_assert_equal( $#last_ten, 0 );
test_assert_equal( $last_ten[0], 'log empty' );
$l->debug( 'test1' );
@last_ten = $l->last_ten();
test_assert_equal( $#last_ten, 0 );
test_assert_regexp( $last_ten[0], 'test1' );
$l->debug( 'test2' );
@last_ten = $l->last_ten();
test_assert_equal( $#last_ten, 1 );
test_assert_regexp( $last_ten[0], 'test1' );
test_assert_regexp( $last_ten[1], 'test2' );
# Check the time function is working to generate times to the nearest day
test_assert_equal( $l->{today__}, int( time / 86400 ) * 86400 );
# Read the debug file and check that it contains what we expect
open DEBUG, '<' . $l->debug_filename();
my $line = <DEBUG>;
test_assert_regexp( $line, 'test1' );
$line = <DEBUG>;
test_assert_regexp( $line, 'test2' );
close DEBUG;
# Check that we get a tick when a day passes
$l->{today__} -= 86400;
$l->service();
test_assert( defined( $mq->{queue__}{TICKD}[0][0] ), "checking TICKD message" );
test_assert( defined( $mq->{queue__}{TICKD}[0][1] ), "checking TICKD message" );
# Move the date ahead three days and check that the debug
# file gets deleted, this relies on the GNU date program
my $file = $l->debug_filename();
`date --set='2 days'`;
$l->service();
my $exists = ( -e $file );
test_assert( $exists, "checking that debug file was deleted" );
`date --set='1 day'`;
$l->service();
$exists = ( -e $file );
test_assert( !$exists, "checking that debug file was deleted" );
`date --set='3 days ago'`;
Index: TestMailParse.tst
===================================================================
RCS file: /cvsroot/popfile/engine/tests/TestMailParse.tst,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** TestMailParse.tst 26 Jun 2003 14:09:00 -0000 1.7
--- TestMailParse.tst 9 Jul 2003 18:18:25 -0000 1.8
***************
*** 117,121 ****
# wrd file
! $cl->parse_stream( $parse_test );
open WORDS, "<$words";
--- 117,121 ----
# wrd file
! $cl->parse_file( $parse_test );
open WORDS, "<$words";
|
|
From: <jgr...@us...> - 2003-07-09 18:18:57
|
Update of /cvsroot/popfile/engine/UI
In directory sc8-pr-cvs1:/tmp/cvs-serv2831/UI
Modified Files:
HTML.pm
Log Message:
PERFORMANCE CHANGES
Bayes.pm: Added new add_messages_to_bucket API to add multiple messages to a
bucket at the same time with a single read/write of the appropriate
corpus table for speed.
New write_line__ method to write a line to a MSG file and optionally
to the parse_line API of MailParse.pm. Now we write a file to disk
and parse it without reloading the MSG file from disk for speed.
The MSG gets a temporary name until the CLS file is written to prevent
the history from reloading in the middle of a download ending up with
a message with a class file error
classify_file becomes classify and can classify either from a file
or from the preparsed information in the parser
classify_and_modify returns the name of the file where the message
was stored in addition to the classification.
HTML.pm: Use add_messages_to_bucket API to reclassification for speed.
Use the new classify method in Bayes.pm to classify a file after it
has been digested by the parser for colorization and get the word
scores. This means we only load the MSG file once (used to be
twice) and hence double the speed of viewing a colorized message.
New method load_disk_cache__ and save_disk_cache__ are used to
keep a copy of the history cache on disk between sessions so that
session start up is as fast as possible. There will be no need
to parse messages for header information on start up if the
history_cache file is present.
Removed the boundary feature because it is incompatible with the
concept of a "download" since we now send new history file messages
async. through the MQ.
Load the history cache progessively as files are written. The proxies
send the message NEWFL and the method new_history_file__ adds the
file to the history. This is done so that when the user hits the
History tab button after a mail download the history cache is
already loaded and there should be no delay in displaying the
history page.
MailParse.pm: Renamed parse_stream to parse_file since that's a better name
New start_parse, stop_parse and parse_line APIs so that a file can
be parsed line by line.
MQ.pm: Defined a new message type NEWFL which is used to indicate that
a file has been added to the history cache. NEWFL's message
is the name of the file (the MSG file) that was added.
POP3.pm: Send the NEWFL message through the pipe to the parent so that
the history is aware of new messages.
SMTP.pm:
NNTP.pm: Send CLASS and NEWFL messages through the pipe to the parent.
insert.pl: Updated to use new parse_file API
bayes.pl: Updated to use new classify not classify_file API.
TEST SUITE CHANGES
tests.pl: New test_assert_regexp function for doing fuzzy matching of
test results.
Returns 0 if all tests run successfully, and 1 if there are
any errors
TestLogger.tst: New file for testing POPFile::Logger functionality.
Makefile: The test target has a variable TESTARGS can be set with the
specific module (or modules using glob patterns) to run.
For example: gmake test TESTARGS='TestLogger'
There's a new coverage target to run the test suite and output
code coverage information for the modules used.
TestCoverage.pm: New module that provides line coverage information for
the test suite. Executed as a Perl debugger using the -d
switch and outputs code coverage information for all
POPFile files tested.
Index: HTML.pm
===================================================================
RCS file: /cvsroot/popfile/engine/UI/HTML.pm,v
retrieving revision 1.177
retrieving revision 1.178
diff -C2 -d -r1.177 -r1.178
*** HTML.pm 6 Jul 2003 01:18:38 -0000 1.177
--- HTML.pm 9 Jul 2003 18:18:23 -0000 1.178
***************
*** 77,84 ****
--- 77,89 ----
# history_invalid is set to cause the history cache to be reloaded by a call to
# load_history_cache__, and is set by a call to invalidate_history_cache
+ #
+ # If new items have been added to the history the set need_resort__ to 1 to ensure
+ # that the next time a history page is being displayed the appropriate sort, search
+ # and filter is applied
$self->{history__} = {};
$self->{history_keys__} = ();
$self->{history_invalid__} = 0;
+ $self->{need_resort__} = 0;
# A hash containing a mapping between alphanumeric identifiers and appropriate strings used
***************
*** 199,203 ****
# Finally register for the messages that we need to receive
! $self->mq_register_( 'CLASS', $self );
$self->mq_register_( 'UIREG', $self );
$self->mq_register_( 'TICKD', $self );
--- 204,208 ----
# Finally register for the messages that we need to receive
! $self->mq_register_( 'NEWFL', $self );
$self->mq_register_( 'UIREG', $self );
$self->mq_register_( 'TICKD', $self );
***************
*** 237,240 ****
--- 242,246 ----
$self->invalidate_history_cache();
+ $self->load_disk_cache__();
$self->load_history_cache__();
$self->sort_filter_history( '', '', '' );
***************
*** 247,250 ****
--- 253,270 ----
# ---------------------------------------------------------------------------------------------
#
+ # start
+ #
+ # Called to stop the HTML interface running
+ #
+ # ---------------------------------------------------------------------------------------------
+ sub stop
+ {
+ my ( $self ) = @_;
+
+ $self->save_disk_cache__();
+ }
+
+ # ---------------------------------------------------------------------------------------------
+ #
# deliver
#
***************
*** 266,273 ****
}
! # Invalidate the history cache if a classification occurs
! if ( $type eq 'CLASS' ) {
! $self->invalidate_history_cache();
}
--- 286,294 ----
}
! # Get the new file in the history
! if ( $type eq 'NEWFL' ) {
! $self->new_history_file__( $message );
! $self->{need_resort__} = 1;
}
***************
*** 2363,2366 ****
--- 2384,2474 ----
@{$self->{history_keys__}} = reverse @{$self->{history_keys__}} if ($descending);
+
+ $self->{need_resort__} = 0;
+ }
+
+ # ---------------------------------------------------------------------------------------------
+ #
+ # load_disk_cache__
+ #
+ # Preloads the history__ hash with information from the disk which will have been saved
+ # the last time we shutdown
+ #
+ # ---------------------------------------------------------------------------------------------
+ sub load_disk_cache__
+ {
+ my ( $self ) = @_;
+
+ my $cache_file = $self->global_config_( 'msgdir' ) . 'history_cache';
+ if ( !(-e $cache_file) ) {
+ return;
+ }
+
+ open CACHE, "<$cache_file";
+
+ my $first = <CACHE>;
+
+ if ( $first =~ /___HISTORY__ __ VERSION__ 1/ ) {
+ while ( my $line = <CACHE> ) {
+ if ( !( $line =~ /__HISTORY__ __BOUNDARY__/ ) ) {
+ $self->log_( "Problem in history_cache file, expecting boundary got $line" );
+ last;
+ }
+
+ $line = <CACHE>;
+ $line =~ s/[\r\n]//g;
+ my $key = $line;
+ $line = <CACHE>;
+ $line =~ s/[\r\n]//g;
+ $self->{history__}{$key}{bucket} = $line;
+ $line = <CACHE>;
+ $line =~ s/[\r\n]//g;
+ $self->{history__}{$key}{reclassified} = $line;
+ $line = <CACHE>;
+ $line =~ s/[\r\n]//g;
+ $self->{history__}{$key}{magnet} = $line;
+ $line = <CACHE>;
+ $line =~ s/[\r\n]//g;
+ $self->{history__}{$key}{subject} = $line;
+ $line = <CACHE>;
+ $line =~ s/[\r\n]//g;
+ $self->{history__}{$key}{from} = $line;
+ $line = <CACHE>;
+ $line =~ s/[\r\n]//g;
+ $self->{history__}{$key}{short_subject} = $line;
+ $line = <CACHE>;
+ $line =~ s/[\r\n]//g;
+ $self->{history__}{$key}{short_from} = $line;
+ $self->{history__}{$key}{cull} = 0;
+ }
+ }
+ close CACHE;
+ }
+
+ # ---------------------------------------------------------------------------------------------
+ #
+ # save_disk_cache__
+ #
+ # Save the current of the history cache so that it can be reloaded next time on startup
+ #
+ # ---------------------------------------------------------------------------------------------
+ sub save_disk_cache__
+ {
+ my ( $self ) = @_;
+
+ open CACHE, '>' . $self->global_config_( 'msgdir' ) . 'history_cache';
+ print CACHE "___HISTORY__ __ VERSION__ 1\n";
+ foreach my $key (keys %{$self->{history__}}) {
+ print CACHE "__HISTORY__ __BOUNDARY__\n";
+ print CACHE "$key\n";
+ print CACHE "$self->{history__}{$key}{bucket}\n";
+ print CACHE "$self->{history__}{$key}{reclassified}\n";
+ print CACHE "$self->{history__}{$key}{magnet}\n";
+ print CACHE "$self->{history__}{$key}{subject}\n";
+ print CACHE "$self->{history__}{$key}{from}\n";
+ print CACHE "$self->{history__}{$key}{short_subject}\n";
+ print CACHE "$self->{history__}{$key}{short_from}\n";
+ }
+ close CACHE;
}
***************
*** 2397,2406 ****
my @history_files = sort compare_mf glob( $self->global_config_( 'msgdir' ) . "popfile*=*.msg" );
- # This will get set the first time we add a new message to the history
- # cache and is used to control where we place boundaries in the history
- # to show where a user left off
-
- my $set_boundary = 0;
-
foreach my $i ( 0 .. $#history_files ) {
--- 2505,2508 ----
***************
*** 2415,2504 ****
if ( defined( $self->{history__}{$history_files[$i]} ) ) {
! $self->{history__}{$history_files[$i]}{cull} = 0;
! $self->{history__}{$history_files[$i]}{index} = $i;
} else {
! # Find the class information for this file using the history_load_class helper
! # function, and then parse the MSG file for the From and Subject information
!
! my ( $reclassified, $bucket, $usedtobe, $magnet ) = $self->{classifier__}->history_load_class( $history_files[$i] );
! my $from = '';
! my $subject = '';
! if ( open MAIL, '<'. $self->global_config_( 'msgdir' ) . "$history_files[$i]" ) {
! while ( <MAIL> ) {
! last if ( /^(\r\n|\r|\n)/ );
! $from = $1 if ( /^From:(.*)/i );
! $subject = $1 if ( /^Subject:(.*)/i );
! last if ( ( $from ne '' ) && ( $subject ne '' ) );
! }
! close MAIL;
! }
! $from = "<$self->{language__}{History_NoFrom}>" if ( $from eq '' );
! $subject = "<$self->{language__}{History_NoSubject}>" if ( !( $subject =~ /[^ \t\r\n]/ ) );
! $from =~ s/\"(.*)\"/$1/g;
! $subject =~ s/\"(.*)\"/$1/g;
! # TODO Interface violation here, need to clean up
! $from = $self->{classifier__}->{parser__}->decode_string( $from );
! $subject = $self->{classifier__}->{parser__}->decode_string( $subject );
! my ( $short_from, $short_subject ) = ( $from, $subject );
! if ( length($short_from)>40 ) {
! $short_from =~ /(.{40})/;
! $short_from = "$1...";
! }
! if ( length($short_subject)>40 ) {
! $short_subject =~ s/=20/ /g;
! $short_subject =~ /(.{40})/;
! $short_subject = "$1...";
! }
! $from =~ s/&/&/g;
! $from =~ s/</</g;
! $from =~ s/>/>/g;
! $short_from =~ s/&/&/g;
! $short_from =~ s/</</g;
! $short_from =~ s/>/>/g;
! $subject =~ s/&/&/g;
! $subject =~ s/</</g;
! $subject =~ s/>/>/g;
! $short_subject =~ s/&/&/g;
! $short_subject =~ s/</</g;
! $short_subject =~ s/>/>/g;
! $self->{history__}{$history_files[$i]}{bucket} = $bucket;
! $self->{history__}{$history_files[$i]}{reclassified} = $reclassified;
! $self->{history__}{$history_files[$i]}{magnet} = $magnet;
! $self->{history__}{$history_files[$i]}{subject} = $subject;
! $self->{history__}{$history_files[$i]}{from} = $from;
! $self->{history__}{$history_files[$i]}{short_subject} = $short_subject;
! $self->{history__}{$history_files[$i]}{short_from} = $short_from;
! $self->{history__}{$history_files[$i]}{cull} = 0;
! $self->{history__}{$history_files[$i]}{index} = $i;
! $self->{history__}{$history_files[$i]}{boundary} = !$set_boundary;
! $set_boundary = 1;
! }
}
! # Remove any entries from the history that have been removed from disk, see the big
! # comment at the start of this function for more detail
! foreach my $key (keys %{$self->{history__}}) {
! if ( $self->{history__}{$key}{cull} == 1 ) {
! delete $self->{history__}{$key};
! }
! }
! $self->{history_invalid__} = 0;
! $self->sort_filter_history( '', '', '' );
}
--- 2517,2622 ----
if ( defined( $self->{history__}{$history_files[$i]} ) ) {
! $self->{history__}{$history_files[$i]}{cull} = 0;
! $self->{history__}{$history_files[$i]}{index} = $i;
} else {
+ $self->new_history_file__( $history_files[$i], $i );
+ }
+ }
! # Remove any entries from the history that have been removed from disk, see the big
! # comment at the start of this function for more detail
! foreach my $key (keys %{$self->{history__}}) {
! if ( $self->{history__}{$key}{cull} == 1 ) {
! delete $self->{history__}{$key};
! }
! }
! $self->{history_invalid__} = 0;
! $self->sort_filter_history( '', '', '' );
! }
! # ---------------------------------------------------------------------------------------------
! #
! # new_history_file__
! #
! # Adds a new file to the history cache
! #
! # $file The name of the file added
! # $index (optional) The history keys index
! #
! # ---------------------------------------------------------------------------------------------
! sub new_history_file__
! {
! my ( $self, $file, $index ) = @_;
! # Find the class information for this file using the history_load_class helper
! # function, and then parse the MSG file for the From and Subject information
! my ( $reclassified, $bucket, $usedtobe, $magnet ) = $self->{classifier__}->history_load_class( $file );
! my $from = '';
! my $subject = '';
! if ( open MAIL, '<'. $self->global_config_( 'msgdir' ) . $file ) {
! while ( <MAIL> ) {
! last if ( /^(\r\n|\r|\n)/ );
! $from = $1 if ( /^From:(.*)/i );
! $subject = $1 if ( /^Subject:(.*)/i );
! last if ( ( $from ne '' ) && ( $subject ne '' ) );
! }
! close MAIL;
! }
! $from = "<$self->{language__}{History_NoFrom}>" if ( $from eq '' );
! $subject = "<$self->{language__}{History_NoSubject}>" if ( !( $subject =~ /[^ \t\r\n]/ ) );
! $from =~ s/\"(.*)\"/$1/g;
! $subject =~ s/\"(.*)\"/$1/g;
! # TODO Interface violation here, need to clean up
! $from = $self->{classifier__}->{parser__}->decode_string( $from );
! $subject = $self->{classifier__}->{parser__}->decode_string( $subject );
! my ( $short_from, $short_subject ) = ( $from, $subject );
! if ( length($short_from)>40 ) {
! $short_from =~ /(.{40})/;
! $short_from = "$1...";
! }
! if ( length($short_subject)>40 ) {
! $short_subject =~ s/=20/ /g;
! $short_subject =~ /(.{40})/;
! $short_subject = "$1...";
}
! $from =~ s/&/&/g;
! $from =~ s/</</g;
! $from =~ s/>/>/g;
! $short_from =~ s/&/&/g;
! $short_from =~ s/</</g;
! $short_from =~ s/>/>/g;
! $subject =~ s/&/&/g;
! $subject =~ s/</</g;
! $subject =~ s/>/>/g;
!
! $short_subject =~ s/&/&/g;
! $short_subject =~ s/</</g;
! $short_subject =~ s/>/>/g;
!
! $self->{history__}{$file}{bucket} = $bucket;
! $self->{history__}{$file}{reclassified} = $reclassified;
! $self->{history__}{$file}{magnet} = $magnet;
! $self->{history__}{$file}{subject} = $subject;
! $self->{history__}{$file}{from} = $from;
! $self->{history__}{$file}{short_subject} = $short_subject;
! $self->{history__}{$file}{short_from} = $short_from;
! $self->{history__}{$file}{cull} = 0;
!
! $index = $self->history_size() if ( !defined( $index ) );
! $self->{history__}{$file}{index} = $index;
}
***************
*** 2665,2668 ****
--- 2783,2790 ----
# new bucket classification
+ # This hash maps buckets to list of files to place in those buckets
+
+ my %work;
+
while ( my ($mail_file, $newbucket) = each %messages ) {
***************
*** 2671,2678 ****
my ( $reclassified, $bucket, $usedtobe, $magnet) = $self->{classifier__}->history_load_class( $mail_file );
! # Only reclassify messages that havn't been reclassified before
if ( !$reclassified ) {
! $self->{classifier__}->add_message_to_bucket( $self->global_config_( 'msgdir' ) . $mail_file, $newbucket );
$self->log_( "Reclassifying $mail_file from $bucket to $newbucket" );
--- 2793,2800 ----
my ( $reclassified, $bucket, $usedtobe, $magnet) = $self->{classifier__}->history_load_class( $mail_file );
! # Only reclassify messages that haven't been reclassified before
if ( !$reclassified ) {
! push @{$work{$newbucket}}, $self->global_config_( 'msgdir' ) . $mail_file;
$self->log_( "Reclassifying $mail_file from $bucket to $newbucket" );
***************
*** 2715,2718 ****
--- 2837,2847 ----
}
}
+
+ # At this point the work hash maps the buckets to lists of files to reclassify, so run through
+ # them doing bulk updates
+
+ foreach my $newbucket (keys %work) {
+ $self->{classifier__}->add_messages_to_bucket( $newbucket, @{$work{$newbucket}} );
+ }
}
}
***************
*** 2944,2948 ****
( defined( $self->{form_}{deletemessage} ) ) ||
( defined( $self->{form_}{clearall} ) ) ||
! ( defined( $self->{form_}{clearpage} ) ) );
# Redirect somewhere safe if non-idempotent action has been taken
--- 3073,3078 ----
( defined( $self->{form_}{deletemessage} ) ) ||
( defined( $self->{form_}{clearall} ) ) ||
! ( defined( $self->{form_}{clearpage} ) ) ||
! ( $self->{need_resort__} == 1 ) );
# Redirect somewhere safe if non-idempotent action has been taken
***************
*** 3045,3053 ****
my $reclassified = $self->{history__}{$mail_file}{reclassified};
my $index = $self->{history__}{$mail_file}{index} + 1;
- my $boundary = $self->{history__}{$mail_file}{boundary};
-
- if ( $boundary && ( $self->{form_}{sort} eq '' ) && ( $i != $start_message ) ) {
- $body .= "<tr class=\"rowHighlighted\" height=\"2\"><td colspan=\"6\"></td></tr>";
- }
$body .= "<tr";
--- 3175,3178 ----
***************
*** 3267,3271 ****
if ( $self->{history__}{$mail_file}{magnet} eq '' ) {
! $body .= $self->{classifier__}->get_html_colored_message($self->global_config_( 'msgdir' ) . $mail_file);
} else {
$self->{history__}{$mail_file}{magnet} =~ /(.+): ([^\r\n]+)/;
--- 3392,3409 ----
if ( $self->{history__}{$mail_file}{magnet} eq '' ) {
! $body .= $self->{classifier__}->get_html_colored_message($self->global_config_( 'msgdir' ) . $mail_file);
!
! # Enable saving of word-scores
!
! $self->{classifier__}->wordscores( 1 );
!
! # Build the scores by classifying the message, since get_html_colored_message has parsed the message
! # for us we do not need to parse it again and hence we pass in undef for the filename
!
! $self->{classifier__}->classify( undef, $self );
!
! # Disable, print, and clear saved word-scores
!
! $self->{classifier__}->wordscores( 0 );
} else {
$self->{history__}{$mail_file}{magnet} =~ /(.+): ([^\r\n]+)/;
***************
*** 3312,3327 ****
if ($self->{history__}{$mail_file}{magnet} eq '') {
-
- # Enable saving of word-scores
-
- $self->{classifier__}->wordscores( 1 );
-
- # Build the scores by classifying the message
-
- $self->{classifier__}->classify_file($self->global_config_( 'msgdir' ) . $mail_file, $self);
-
- # Disable, print, and clear saved word-scores
-
- $self->{classifier__}->wordscores( 0 );
$body .= $self->{classifier__}->scores();
$self->{classifier__}->scores('');
--- 3450,3453 ----
|
|
From: <jgr...@us...> - 2003-07-09 18:18:54
|
Update of /cvsroot/popfile/engine/Proxy
In directory sc8-pr-cvs1:/tmp/cvs-serv2831/Proxy
Modified Files:
NNTP.pm POP3.pm Proxy.pm SMTP.pm
Log Message:
PERFORMANCE CHANGES
Bayes.pm: Added new add_messages_to_bucket API to add multiple messages to a
bucket at the same time with a single read/write of the appropriate
corpus table for speed.
New write_line__ method to write a line to a MSG file and optionally
to the parse_line API of MailParse.pm. Now we write a file to disk
and parse it without reloading the MSG file from disk for speed.
The MSG gets a temporary name until the CLS file is written to prevent
the history from reloading in the middle of a download ending up with
a message with a class file error
classify_file becomes classify and can classify either from a file
or from the preparsed information in the parser
classify_and_modify returns the name of the file where the message
was stored in addition to the classification.
HTML.pm: Use add_messages_to_bucket API to reclassification for speed.
Use the new classify method in Bayes.pm to classify a file after it
has been digested by the parser for colorization and get the word
scores. This means we only load the MSG file once (used to be
twice) and hence double the speed of viewing a colorized message.
New method load_disk_cache__ and save_disk_cache__ are used to
keep a copy of the history cache on disk between sessions so that
session start up is as fast as possible. There will be no need
to parse messages for header information on start up if the
history_cache file is present.
Removed the boundary feature because it is incompatible with the
concept of a "download" since we now send new history file messages
async. through the MQ.
Load the history cache progessively as files are written. The proxies
send the message NEWFL and the method new_history_file__ adds the
file to the history. This is done so that when the user hits the
History tab button after a mail download the history cache is
already loaded and there should be no delay in displaying the
history page.
MailParse.pm: Renamed parse_stream to parse_file since that's a better name
New start_parse, stop_parse and parse_line APIs so that a file can
be parsed line by line.
MQ.pm: Defined a new message type NEWFL which is used to indicate that
a file has been added to the history cache. NEWFL's message
is the name of the file (the MSG file) that was added.
POP3.pm: Send the NEWFL message through the pipe to the parent so that
the history is aware of new messages.
SMTP.pm:
NNTP.pm: Send CLASS and NEWFL messages through the pipe to the parent.
insert.pl: Updated to use new parse_file API
bayes.pl: Updated to use new classify not classify_file API.
TEST SUITE CHANGES
tests.pl: New test_assert_regexp function for doing fuzzy matching of
test results.
Returns 0 if all tests run successfully, and 1 if there are
any errors
TestLogger.tst: New file for testing POPFile::Logger functionality.
Makefile: The test target has a variable TESTARGS can be set with the
specific module (or modules using glob patterns) to run.
For example: gmake test TESTARGS='TestLogger'
There's a new coverage target to run the test suite and output
code coverage information for the modules used.
TestCoverage.pm: New module that provides line coverage information for
the test suite. Executed as a Perl debugger using the -d
switch and outputs code coverage information for all
POPFile files tested.
Index: NNTP.pm
===================================================================
RCS file: /cvsroot/popfile/engine/Proxy/NNTP.pm,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** NNTP.pm 14 Jun 2003 21:10:12 -0000 1.11
--- NNTP.pm 9 Jul 2003 18:18:21 -0000 1.12
***************
*** 223,231 ****
$count += 1;
! my $class = $self->{classifier__}->classify_and_modify( $news, $client, $download_count, $count, 0, '' );
# Tell the parent that we just handled a mail
! print $pipe "$class$eol";
}
--- 223,232 ----
$count += 1;
! my ( $class, $history_file ) = $self->{classifier__}->classify_and_modify( $news, $client, $download_count, $count, 0, '' );
# Tell the parent that we just handled a mail
! print $pipe "CLASS:$class$eol";
! print $pipe "NEWFL:$history_file$eol";
}
Index: POP3.pm
===================================================================
RCS file: /cvsroot/popfile/engine/Proxy/POP3.pm,v
retrieving revision 1.60
retrieving revision 1.61
diff -C2 -d -r1.60 -r1.61
*** POP3.pm 27 Jun 2003 06:52:23 -0000 1.60
--- POP3.pm 9 Jul 2003 18:18:21 -0000 1.61
***************
*** 285,289 ****
# Classify without echoing to client, saving file for later RETR's
! my $class = $self->{classifier__}->classify_and_modify( $mail, $client, $download_count, $count, 0, '', 0 );
$downloaded{$count} = 1;
--- 285,289 ----
# Classify without echoing to client, saving file for later RETR's
! my ( $class, $history_file ) = $self->{classifier__}->classify_and_modify( $mail, $client, $download_count, $count, 0, '', 0 );
$downloaded{$count} = 1;
***************
*** 297,300 ****
--- 297,301 ----
# Tell the parent that we just handled a mail
print $pipe "CLASS:$class$eol";
+ print $pipe "NEWFL:$history_file$eol";
}
}
***************
*** 397,404 ****
# we echo each line of the message until we hit the . at the end
if ( $self->echo_response_($mail, $client, $command ) ) {
! $class = $self->{classifier__}->classify_and_modify( $mail, $client, $download_count, $count, 0, '' );
# Tell the parent that we just handled a mail
print $pipe "CLASS:$class$eol";
# Note locally that file has been retrieved
--- 398,407 ----
# we echo each line of the message until we hit the . at the end
if ( $self->echo_response_($mail, $client, $command ) ) {
! my $history_file;
! ( $class, $history_file ) = $self->{classifier__}->classify_and_modify( $mail, $client, $download_count, $count, 0, '' );
# Tell the parent that we just handled a mail
print $pipe "CLASS:$class$eol";
+ print $pipe "NEWFL:$history_file$eol";
# Note locally that file has been retrieved
Index: Proxy.pm
===================================================================
RCS file: /cvsroot/popfile/engine/Proxy/Proxy.pm,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** Proxy.pm 14 Jun 2003 21:10:12 -0000 1.17
--- Proxy.pm 9 Jul 2003 18:18:21 -0000 1.18
***************
*** 204,207 ****
--- 204,211 ----
}
+ if ( $message =~ /NEWFL:(.*)/ ) {
+ $self->mq_post_( 'NEWFL', $1, '' );
+ }
+
if ( $message =~ /LOGIN:(.*)/ ) {
$self->mq_post_( 'LOGIN', $1, '' );
***************
*** 347,351 ****
last if ( $self->{alive_} == 0 );
!
if (!defined($suppress) || !( $_ =~ $suppress )) {
if (!$verbose) {
--- 351,355 ----
last if ( $self->{alive_} == 0 );
!
if (!defined($suppress) || !( $_ =~ $suppress )) {
if (!$verbose) {
***************
*** 353,362 ****
} else {
# This creates log output
!
$self->tee_($client, $_);
}
! } else {
$self->log_("Suppressed: $_");
! }
last if ( $_ =~ $regexp );
--- 357,366 ----
} else {
# This creates log output
!
$self->tee_($client, $_);
}
! } else {
$self->log_("Suppressed: $_");
! }
last if ( $_ =~ $regexp );
Index: SMTP.pm
===================================================================
RCS file: /cvsroot/popfile/engine/Proxy/SMTP.pm,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** SMTP.pm 14 Jun 2003 21:10:12 -0000 1.13
--- SMTP.pm 9 Jul 2003 18:18:21 -0000 1.14
***************
*** 187,191 ****
next;
}
-
if ( ( $command =~ /MAIL FROM:/i ) ||
--- 187,190 ----
***************
*** 207,214 ****
$count += 1;
! my $class = $self->{classifier__}->classify_and_modify( $client, $mail, $download_count, $count, 0, '' );
# Tell the parent that we just handled a mail
! print $pipe "$class$eol";
my $response = <$mail>;
--- 206,214 ----
$count += 1;
! my ( $class, $history_file ) = $self->{classifier__}->classify_and_modify( $client, $mail, $download_count, $count, 0, '' );
# Tell the parent that we just handled a mail
! print $pipe "CLASS:$class$eol";
! print $pipe "NEWFL:$history_file$eol";
my $response = <$mail>;
|
|
From: <jgr...@us...> - 2003-07-09 18:18:52
|
Update of /cvsroot/popfile/engine/POPFile
In directory sc8-pr-cvs1:/tmp/cvs-serv2831/POPFile
Modified Files:
Logger.pm MQ.pm
Log Message:
PERFORMANCE CHANGES
Bayes.pm: Added new add_messages_to_bucket API to add multiple messages to a
bucket at the same time with a single read/write of the appropriate
corpus table for speed.
New write_line__ method to write a line to a MSG file and optionally
to the parse_line API of MailParse.pm. Now we write a file to disk
and parse it without reloading the MSG file from disk for speed.
The MSG gets a temporary name until the CLS file is written to prevent
the history from reloading in the middle of a download ending up with
a message with a class file error
classify_file becomes classify and can classify either from a file
or from the preparsed information in the parser
classify_and_modify returns the name of the file where the message
was stored in addition to the classification.
HTML.pm: Use add_messages_to_bucket API to reclassification for speed.
Use the new classify method in Bayes.pm to classify a file after it
has been digested by the parser for colorization and get the word
scores. This means we only load the MSG file once (used to be
twice) and hence double the speed of viewing a colorized message.
New method load_disk_cache__ and save_disk_cache__ are used to
keep a copy of the history cache on disk between sessions so that
session start up is as fast as possible. There will be no need
to parse messages for header information on start up if the
history_cache file is present.
Removed the boundary feature because it is incompatible with the
concept of a "download" since we now send new history file messages
async. through the MQ.
Load the history cache progessively as files are written. The proxies
send the message NEWFL and the method new_history_file__ adds the
file to the history. This is done so that when the user hits the
History tab button after a mail download the history cache is
already loaded and there should be no delay in displaying the
history page.
MailParse.pm: Renamed parse_stream to parse_file since that's a better name
New start_parse, stop_parse and parse_line APIs so that a file can
be parsed line by line.
MQ.pm: Defined a new message type NEWFL which is used to indicate that
a file has been added to the history cache. NEWFL's message
is the name of the file (the MSG file) that was added.
POP3.pm: Send the NEWFL message through the pipe to the parent so that
the history is aware of new messages.
SMTP.pm:
NNTP.pm: Send CLASS and NEWFL messages through the pipe to the parent.
insert.pl: Updated to use new parse_file API
bayes.pl: Updated to use new classify not classify_file API.
TEST SUITE CHANGES
tests.pl: New test_assert_regexp function for doing fuzzy matching of
test results.
Returns 0 if all tests run successfully, and 1 if there are
any errors
TestLogger.tst: New file for testing POPFile::Logger functionality.
Makefile: The test target has a variable TESTARGS can be set with the
specific module (or modules using glob patterns) to run.
For example: gmake test TESTARGS='TestLogger'
There's a new coverage target to run the test suite and output
code coverage information for the modules used.
TestCoverage.pm: New module that provides line coverage information for
the test suite. Executed as a Perl debugger using the -d
switch and outputs code coverage information for all
POPFile files tested.
Index: Logger.pm
===================================================================
RCS file: /cvsroot/popfile/engine/POPFile/Logger.pm,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** Logger.pm 14 Jun 2003 21:10:12 -0000 1.19
--- Logger.pm 9 Jul 2003 18:18:19 -0000 1.20
***************
*** 91,95 ****
#
# ---------------------------------------------------------------------------------------------
! sub remove_debug_files
{
my ( $self ) = @_;
--- 91,95 ----
#
# ---------------------------------------------------------------------------------------------
! sub remove_debug_files
{
my ( $self ) = @_;
Index: MQ.pm
===================================================================
RCS file: /cvsroot/popfile/engine/POPFile/MQ.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** MQ.pm 14 Jun 2003 21:10:12 -0000 1.1
--- MQ.pm 9 Jul 2003 18:18:19 -0000 1.2
***************
*** 37,40 ****
--- 37,43 ----
# is the username sent
#
+ # NEWFL Occurs when a new file has been written to the history
+ # cache on disk. The message is the filename
+ #
# Copyright (c) 2001-2003 John Graham-Cumming
#
|
|
From: <jgr...@us...> - 2003-07-09 18:18:47
|
Update of /cvsroot/popfile/engine/Classifier
In directory sc8-pr-cvs1:/tmp/cvs-serv2831/Classifier
Modified Files:
Bayes.pm MailParse.pm
Log Message:
PERFORMANCE CHANGES
Bayes.pm: Added new add_messages_to_bucket API to add multiple messages to a
bucket at the same time with a single read/write of the appropriate
corpus table for speed.
New write_line__ method to write a line to a MSG file and optionally
to the parse_line API of MailParse.pm. Now we write a file to disk
and parse it without reloading the MSG file from disk for speed.
The MSG gets a temporary name until the CLS file is written to prevent
the history from reloading in the middle of a download ending up with
a message with a class file error
classify_file becomes classify and can classify either from a file
or from the preparsed information in the parser
classify_and_modify returns the name of the file where the message
was stored in addition to the classification.
HTML.pm: Use add_messages_to_bucket API to reclassification for speed.
Use the new classify method in Bayes.pm to classify a file after it
has been digested by the parser for colorization and get the word
scores. This means we only load the MSG file once (used to be
twice) and hence double the speed of viewing a colorized message.
New method load_disk_cache__ and save_disk_cache__ are used to
keep a copy of the history cache on disk between sessions so that
session start up is as fast as possible. There will be no need
to parse messages for header information on start up if the
history_cache file is present.
Removed the boundary feature because it is incompatible with the
concept of a "download" since we now send new history file messages
async. through the MQ.
Load the history cache progessively as files are written. The proxies
send the message NEWFL and the method new_history_file__ adds the
file to the history. This is done so that when the user hits the
History tab button after a mail download the history cache is
already loaded and there should be no delay in displaying the
history page.
MailParse.pm: Renamed parse_stream to parse_file since that's a better name
New start_parse, stop_parse and parse_line APIs so that a file can
be parsed line by line.
MQ.pm: Defined a new message type NEWFL which is used to indicate that
a file has been added to the history cache. NEWFL's message
is the name of the file (the MSG file) that was added.
POP3.pm: Send the NEWFL message through the pipe to the parent so that
the history is aware of new messages.
SMTP.pm:
NNTP.pm: Send CLASS and NEWFL messages through the pipe to the parent.
insert.pl: Updated to use new parse_file API
bayes.pl: Updated to use new classify not classify_file API.
TEST SUITE CHANGES
tests.pl: New test_assert_regexp function for doing fuzzy matching of
test results.
Returns 0 if all tests run successfully, and 1 if there are
any errors
TestLogger.tst: New file for testing POPFile::Logger functionality.
Makefile: The test target has a variable TESTARGS can be set with the
specific module (or modules using glob patterns) to run.
For example: gmake test TESTARGS='TestLogger'
There's a new coverage target to run the test suite and output
code coverage information for the modules used.
TestCoverage.pm: New module that provides line coverage information for
the test suite. Executed as a Perl debugger using the -d
switch and outputs code coverage information for all
POPFile files tested.
Index: Bayes.pm
===================================================================
RCS file: /cvsroot/popfile/engine/Classifier/Bayes.pm,v
retrieving revision 1.161
retrieving revision 1.162
diff -C2 -d -r1.161 -r1.162
*** Bayes.pm 6 Jul 2003 07:59:30 -0000 1.161
--- Bayes.pm 9 Jul 2003 18:18:11 -0000 1.162
***************
*** 483,495 ****
if ( open WORDS, '<' . $self->config_( 'corpus' ) . "/$bucket/table" ) {
! while (<WORDS>) {
! if ( /__CORPUS__ __VERSION__ (\d+)/ ) {
! if ( $1 != $self->{corpus_version__} ) {
! print "Incompatible corpus version in $bucket\n";
! return;
! }
!
! next;
}
s/[\r\n]//g;
--- 483,497 ----
if ( open WORDS, '<' . $self->config_( 'corpus' ) . "/$bucket/table" ) {
! my $first = <WORDS>;
! if ( $first =~ s/^__CORPUS__ __VERSION__ (\d+)// ) {
! if ( $1 != $self->{corpus_version__} ) {
! print "Incompatible corpus version in $bucket\n";
! return;
}
+ } else {
+ return;
+ }
+
+ while ( <WORDS> ) {
s/[\r\n]//g;
***************
*** 563,569 ****
# ---------------------------------------------------------------------------------------------
#
! # classify_file
#
! # $file The name of the file containing the text to classify
# $ui Reference to the UI used when doing colorization
#
--- 565,572 ----
# ---------------------------------------------------------------------------------------------
#
! # classify
#
! # $file The name of the file containing the text to classify (or undef to use
! # the data already in the parser)
# $ui Reference to the UI used when doing colorization
#
***************
*** 572,578 ****
#
# ---------------------------------------------------------------------------------------------
! sub classify_file
{
! my ($self, $file, $ui) = @_;
my $msg_total = 0;
--- 575,581 ----
#
# ---------------------------------------------------------------------------------------------
! sub classify
{
! my ( $self, $file, $ui ) = @_;
my $msg_total = 0;
***************
*** 580,584 ****
$self->{magnet_detail__} = '';
! $self->{parser__}->parse_stream($file);
# Check to see if this email should be classified based on a magnet
--- 583,589 ----
$self->{magnet_detail__} = '';
! if ( defined( $file ) ) {
! $self->{parser__}->parse_file( $file );
! }
# Check to see if this email should be classified based on a magnet
***************
*** 927,930 ****
--- 932,956 ----
}
+ # ---------------------------------------------------------------------------------------------
+ #
+ # write_line__
+ #
+ # Writes a line to a file and parses it
+ #
+ # $file File handle for file to write line to
+ # $line The line to write
+ # $class The current classification
+ #
+ # ---------------------------------------------------------------------------------------------
+ sub write_line__
+ {
+ my ( $self, $file, $line, $class ) = @_;
+
+ print $file $line;
+
+ if ( $class eq '' ) {
+ $self->{parser__}->parse_line( $line );
+ }
+ }
# ---------------------------------------------------------------------------------------------
***************
*** 944,948 ****
# $echo - 1 to echo to the client, 0 to supress, defaults to 1
#
! # Returns a classification if it worked, otherwise returns an empty string
#
# ---------------------------------------------------------------------------------------------
--- 970,975 ----
# $echo - 1 to echo to the client, 0 to supress, defaults to 1
#
! # Returns a classification if it worked and the name of the file where the message
! # was saved
#
# ---------------------------------------------------------------------------------------------
***************
*** 988,992 ****
my $class_file = $self->history_filename($dcount,$mcount, ".cls",0);
! open TEMP, ">$temp_file";
while ( <$mail> ) {
--- 1015,1028 ----
my $class_file = $self->history_filename($dcount,$mcount, ".cls",0);
! # If we don't yet know the classification then start the parser
! if ( $class eq '' ) {
! $self->{parser__}->start_parse();
! }
!
! # We append .TMP to the filename for the MSG file so that if we are in
! # middle of downloading a message and we refresh the history we do not
! # get class file errors
!
! open TEMP, ">$temp_file.tmp";
while ( <$mail> ) {
***************
*** 1024,1028 ****
if ( !( $line =~ /^(\r\n|\r|\n)$/i ) ) {
$message_size += length $line;
! print TEMP $fileline;
# If there is no echoing occuring, it doesn't matter what we do to these
--- 1060,1064 ----
if ( !( $line =~ /^(\r\n|\r|\n)$/i ) ) {
$message_size += length $line;
! $self->write_line__( \*TEMP, $fileline, $class );
# If there is no echoing occuring, it doesn't matter what we do to these
***************
*** 1053,1057 ****
}
} else {
! print TEMP "\n";
$message_size += length $eol;
$getting_headers = 0;
--- 1089,1093 ----
}
} else {
! $self->write_line__( \*TEMP, "\n", $class );
$message_size += length $eol;
$getting_headers = 0;
***************
*** 1060,1064 ****
$message_size += length $line;
$msg_body .= $line;
! print TEMP $fileline;
}
--- 1096,1100 ----
$message_size += length $line;
$msg_body .= $line;
! $self->write_line__( \*TEMP, $fileline, $class );
}
***************
*** 1075,1082 ****
close TEMP;
# Do the text classification and update the counter for that bucket that we just downloaded
# an email of that type
! $classification = ($class ne '')?$class:$self->classify_file($temp_file);
my $modification = $self->config_( 'subject_mod_left' ) . $classification . $self->config_( 'subject_mod_right' );
--- 1111,1123 ----
close TEMP;
+ # If we don't yet know the classification then stop the parser
+ if ( $class eq '' ) {
+ $self->{parser__}->stop_parse();
+ }
+
# Do the text classification and update the counter for that bucket that we just downloaded
# an email of that type
! $classification = ($class ne '')?$class:$self->classify(undef);
my $modification = $self->config_( 'subject_mod_left' ) . $classification . $self->config_( 'subject_mod_right' );
***************
*** 1177,1184 ****
if ( !$nosave ) {
! $self->history_write_class($class_file, undef, $classification, undef, ($self->{magnet_used__}?$self->{magnet_detail__}:undef))
}
! return $classification;
}
--- 1218,1231 ----
if ( !$nosave ) {
! $self->history_write_class($class_file, undef, $classification, undef, ($self->{magnet_used__}?$self->{magnet_detail__}:undef));
!
! # Now rename the MSG file, since the class file has been written it's safe for the mesg
! # file to have the correct name. If the history cache is reloaded then we wont have a class
! # file error since it was already written
!
! rename "$temp_file.tmp", $temp_file;
}
! return ( $classification, $nopath_temp_file );
}
***************
*** 1374,1380 ****
$self->{parser__}->{color__} = 1;
$self->{parser__}->{bayes__} = bless $self;
! my $result = $self->{parser__}->parse_stream($file);
$self->{parser__}->{color__} = 0;
- $self->{parser__}->{words__} = {};
return $result;
--- 1421,1426 ----
$self->{parser__}->{color__} = 1;
$self->{parser__}->{bayes__} = bless $self;
! my $result = $self->{parser__}->parse_file( $file );
$self->{parser__}->{color__} = 0;
return $result;
***************
*** 1450,1464 ****
# ---------------------------------------------------------------------------------------------
#
! # add_message_to_bucket
#
! # Parses a mail message and updates the statistics in the specified bucket
#
- # $file Name of file containing mail message to parse
# $bucket Name of the bucket to be updated
#
# ---------------------------------------------------------------------------------------------
! sub add_message_to_bucket
{
! my ( $self, $file, $bucket ) = @_;
my %words;
--- 1496,1510 ----
# ---------------------------------------------------------------------------------------------
#
! # add_messages_to_bucket
#
! # Parses mail messages and updates the statistics in the specified bucket
#
# $bucket Name of the bucket to be updated
+ # @files List of file names to parse
#
# ---------------------------------------------------------------------------------------------
! sub add_messages_to_bucket
{
! my ( $self, $bucket, @files ) = @_;
my %words;
***************
*** 1489,1496 ****
}
! $self->{parser__}->parse_stream( $file );
! foreach my $word (keys %{$self->{parser__}->{words__}}) {
! $words{$word} += $self->{parser__}->{words__}{$word};
}
--- 1535,1544 ----
}
! foreach my $file (@files) {
! $self->{parser__}->parse_file( $file );
! foreach my $word (keys %{$self->{parser__}->{words__}}) {
! $words{$word} += $self->{parser__}->{words__}{$word};
! }
}
***************
*** 1508,1511 ****
--- 1556,1576 ----
# ---------------------------------------------------------------------------------------------
#
+ # add_message_to_bucket
+ #
+ # Parses a mail message and updates the statistics in the specified bucket
+ #
+ # $file Name of file containing mail message to parse
+ # $bucket Name of the bucket to be updated
+ #
+ # ---------------------------------------------------------------------------------------------
+ sub add_message_to_bucket
+ {
+ my ( $self, $file, $bucket ) = @_;
+
+ $self->add_messages_to_bucket( $bucket, $file );
+ }
+
+ # ---------------------------------------------------------------------------------------------
+ #
# remove_message_from_bucket
#
***************
*** 1547,1551 ****
}
! $self->{parser__}->parse_stream( $file );
foreach my $word (keys %{$self->{parser__}->{words__}}) {
--- 1612,1616 ----
}
! $self->{parser__}->parse_file( $file );
foreach my $word (keys %{$self->{parser__}->{words__}}) {
Index: MailParse.pm
===================================================================
RCS file: /cvsroot/popfile/engine/Classifier/MailParse.pm,v
retrieving revision 1.141
retrieving revision 1.142
diff -C2 -d -r1.141 -r1.142
*** MailParse.pm 29 Jun 2003 21:02:47 -0000 1.141
--- MailParse.pm 9 Jul 2003 18:18:14 -0000 1.142
***************
*** 259,265 ****
$self->{ut__} .= $to . ' ';
}
- } else {
- $self->increment_word( $mword );
}
}
--- 259,265 ----
$self->{ut__} .= $to . ' ';
}
}
+
+ $self->increment_word( $mword );
}
***************
*** 301,307 ****
$self->{ut__} .= "<font color=\"$color\">$word<\/font> ";
}
- } else {
- increment_word( $self, $mword );
}
}
}
--- 301,307 ----
$self->{ut__} .= "<font color=\"$color\">$word<\/font> ";
}
}
+
+ $self->increment_word( $mword );
}
}
***************
*** 930,956 ****
# ---------------------------------------------------------------------------------------------
#
! # parse_stream
#
! # Read messages from a file stream and parse into a list of words and frequencies
#
# $file The file to open and parse
#
# ---------------------------------------------------------------------------------------------
! sub parse_stream
{
! my ($self, $file) = @_;
# This will contain the mime boundary information in a mime message
! my $mime = '';
# Contains the encoding for the current block in a mime message
! my $encoding = '';
# Variables to save header information to while parsing headers
! my $header = '';
! my $argument = '';
# Clear the word hash
--- 930,1001 ----
# ---------------------------------------------------------------------------------------------
#
! # parse_file
#
! # Read messages from file and parse into a list of words and frequencies, returns a colorized
! # HTML version of message if color__ is set
#
# $file The file to open and parse
#
# ---------------------------------------------------------------------------------------------
! sub parse_file
{
! my ( $self, $file ) = @_;
!
! $self->start_parse();
!
! open MSG, "<$file";
! binmode MSG;
!
! # Read each line and find each "word" which we define as a sequence of alpha
! # characters
!
! while (<MSG>) {
! $self->parse_line( $_ );
! }
!
! $self->{colorized__} .= $self->clear_out_base64();
! close MSG;
!
! $self->stop_parse();
! $self->{in_html_tag__} = 0;
!
! if ( $self->{color__} ) {
! $self->{colorized__} .= $self->{ut__} if ( $self->{ut__} ne '' );
!
! $self->{colorized__} .= "</tt>";
! $self->{colorized__} =~ s/(\r\n\r\n|\r\r|\n\n)/__BREAK____BREAK__/g;
! $self->{colorized__} =~ s/[\r\n]+/__BREAK__/g;
! $self->{colorized__} =~ s/__BREAK__/<br \/>/g;
!
! return $self->{colorized__};
! } else {
! return '';
! }
! }
!
! # ---------------------------------------------------------------------------------------------
! #
! # start_parse
! #
! # Called to reset internal variables before parsing. This is automatically called when using
! # the parse_file API, and must be called before the first call to parse_line.
! #
! # ---------------------------------------------------------------------------------------------
! sub start_parse
! {
! my ( $self ) = @_;
# This will contain the mime boundary information in a mime message
! $self->{mime__} = '';
# Contains the encoding for the current block in a mime message
! $self->{encoding__} = '';
# Variables to save header information to while parsing headers
! $self->{header__} = '';
! $self->{argument__} = '';
# Clear the word hash
***************
*** 958,965 ****
$self->{content_type__} = '';
- # Used to return a colorize page
-
- my $colorized = '';
-
# Base64 attachments are loaded into this as we read them
--- 1003,1006 ----
***************
*** 993,1006 ****
$self->{first20count__} = 0;
! $colorized .= "<tt>" if ( $self->{color__} );
! open MSG, "<$file";
! binmode MSG;
! # Read each line and find each "word" which we define as a sequence of alpha
! # characters
! while (<MSG>) {
! my $read = $_;
# For the Mac we do further splitting of the line at the CR characters
--- 1034,1079 ----
$self->{first20count__} = 0;
! # Used to return a colorize page
! $self->{colorized__} = '';
! $self->{colorized__} .= "<tt>" if ( $self->{color__} );
! }
! # ---------------------------------------------------------------------------------------------
! #
! # stop_parse
! #
! # Called at the end of a parse job. Automatically called if parse_file is used, must be
! # called after the last call to parse_line.
! #
! # ---------------------------------------------------------------------------------------------
! sub stop_parse
! {
! my ( $self ) = @_;
! # If we reach here and discover that we think that we are in an unclosed HTML tag then there
! # has probably been an error (such as a < in the text messing things up) and so we dump
! # whatever is stored in the HTML tag out
!
! if ( $self->{in_html_tag__} ) {
! $self->add_line( $self->{html_tag__} . ' ' . $self->{html_arg__}, 0, '' );
! }
! }
!
! # ---------------------------------------------------------------------------------------------
! #
! # parse_line
! #
! # Called to parse a single line from a message. If using this API directly then be sure
! # to call start_parse before the first call to parse_line.
! #
! # $line Line of file to parse
! #
! # ---------------------------------------------------------------------------------------------
! sub parse_line
! {
! my ( $self, $read ) = @_;
!
! if ( $read ne '' ) {
# For the Mac we do further splitting of the line at the CR characters
***************
*** 1016,1024 ****
if (!$self->{in_html_tag__}) {
! $colorized .= $self->{ut__};
$self->{ut__} = '';
}
! $self->{ut__} .= splitline($line, $encoding);
}
--- 1089,1097 ----
if (!$self->{in_html_tag__}) {
! $self->{colorized__} .= $self->{ut__};
$self->{ut__} = '';
}
! $self->{ut__} .= splitline($line, $self->{encoding__});
}
***************
*** 1034,1042 ****
# Parse the last header
! ($mime,$encoding) = $self->parse_header($header,$argument,$mime,$encoding);
# Clear the saved headers
! $header = '';
! $argument = '';
$self->{ut__} .= splitline( "\015\012", 0 );
--- 1107,1115 ----
# Parse the last header
! ($self->{mime__},$self->{encoding__}) = $self->parse_header($self->{header__},$self->{argument__},$self->{mime__},$self->{encoding__});
# Clear the saved headers
! $self->{header__} = '';
! $self->{argument__} = '';
$self->{ut__} .= splitline( "\015\012", 0 );
***************
*** 1055,1064 ****
# Parse the last header
! ($mime,$encoding) = $self->parse_header($header,$argument,$mime,$encoding) if ($header ne '');
# Save the new information for the current header
! $header = $1;
! $argument = $2;
next;
}
--- 1128,1137 ----
# Parse the last header
! ($self->{mime__},$self->{encoding__}) = $self->parse_header($self->{header__},$self->{argument__},$self->{mime__},$self->{encoding__}) if ($self->{header__} ne '');
# Save the new information for the current header
! $self->{header__} = $1;
! $self->{argument__} = $2;
next;
}
***************
*** 1067,1071 ****
if ( $line =~ /^([\t ].*?)(\r\n|\r|\n)/ ) {
! $argument .= "\015\012" . $1;
}
next;
--- 1140,1144 ----
if ( $line =~ /^([\t ].*?)(\r\n|\r|\n)/ ) {
! $self->{argument__} .= "\015\012" . $1;
}
next;
***************
*** 1074,1082 ****
# If we are in a mime document then spot the boundaries
! if ( ( $mime ne '' ) && ( $line =~ /^\-\-($mime)(\-\-)?/ ) ) {
# approach each mime part with fresh eyes
! $encoding = '';
if (!defined $2) {
--- 1147,1155 ----
# If we are in a mime document then spot the boundaries
! if ( ( $self->{mime__} ne '' ) && ( $line =~ /^\-\-($self->{mime__})(\-\-)?/ ) ) {
# approach each mime part with fresh eyes
! $self->{encoding__} = '';
if (!defined $2) {
***************
*** 1097,1101 ****
my $temp_mime;
! foreach my $aboundary (split(/\|/,$mime)) {
if ($boundary ne $aboundary) {
if (defined $temp_mime) {
--- 1170,1174 ----
my $temp_mime;
! foreach my $aboundary (split(/\|/,$self->{mime__})) {
if ($boundary ne $aboundary) {
if (defined $temp_mime) {
***************
*** 1107,1113 ****
}
! $mime = ($temp_mime || '');
! print "MIME boundary list now $mime\n" if $self->{debug__};
$self->{in_headers__} = 0;
}
--- 1180,1186 ----
}
! $self->{mime__} = ($temp_mime || '');
! print "MIME boundary list now $self->{mime__}\n" if $self->{debug__};
$self->{in_headers__} = 0;
}
***************
*** 1128,1132 ****
# for decoding
! if ( $encoding =~ /base64/i ) {
$line =~ s/[\r\n]//g;
$line =~ s/!$//;
--- 1201,1205 ----
# for decoding
! if ( $self->{encoding__} =~ /base64/i ) {
$line =~ s/[\r\n]//g;
$line =~ s/!$//;
***************
*** 1146,1150 ****
# Decode quoted-printable
! if ( $encoding =~ /quoted\-printable/i ) {
$line = decode_qp( $line );
$line =~ s/[\r\n]+$//g;
--- 1219,1223 ----
# Decode quoted-printable
! if ( $self->{encoding__} =~ /quoted\-printable/i ) {
$line = decode_qp( $line );
$line =~ s/[\r\n]+$//g;
***************
*** 1155,1182 ****
}
}
-
- # If we reach here and disover that we think that we are in an unclosed HTML tag then there
- # has probably been an error (such as a < in the text messing things up) and so we dump
- # whatever is stored in the HTML tag out
-
- if ( $self->{in_html_tag__} ) {
- add_line( $self, $self->{html_tag__} . ' ' . $self->{html_arg__}, 0, '' );
- }
-
- $colorized .= clear_out_base64( $self );
- close MSG;
-
- $self->{in_html_tag__} = 0;
-
- if ( $self->{color__} ) {
- $colorized .= $self->{ut__} if ( $self->{ut__} ne '' );
-
- $colorized .= "</tt>";
- $colorized =~ s/(\r\n\r\n|\r\r|\n\n)/__BREAK____BREAK__/g;
- $colorized =~ s/[\r\n]+/__BREAK__/g;
- $colorized =~ s/__BREAK__/<br \/>/g;
-
- return $colorized;
- }
}
--- 1228,1231 ----
***************
*** 1204,1208 ****
$decoded = decode_base64( $self->{base64__} );
! parse_html( $self, $decoded, 1 );
print "Decoded: " . $decoded . "\n" if ($self->{debug__});
--- 1253,1257 ----
$decoded = decode_base64( $self->{base64__} );
! $self->parse_html( $decoded, 1 );
print "Decoded: " . $decoded . "\n" if ($self->{debug__});
***************
*** 1212,1216 ****
if ( $self->{color__} ) {
if ( $self->{ut__} ne '' ) {
! $colorized = $self->{ut__};
$self->{ut__} = '';
}
--- 1261,1265 ----
if ( $self->{color__} ) {
if ( $self->{ut__} ne '' ) {
! $colorized = $self->{ut__};
$self->{ut__} = '';
}
|
|
From: <jgr...@us...> - 2003-07-09 18:18:42
|
Update of /cvsroot/popfile/engine
In directory sc8-pr-cvs1:/tmp/cvs-serv2831
Modified Files:
Makefile bayes.pl insert.pl tests.pl
Log Message:
PERFORMANCE CHANGES
Bayes.pm: Added new add_messages_to_bucket API to add multiple messages to a
bucket at the same time with a single read/write of the appropriate
corpus table for speed.
New write_line__ method to write a line to a MSG file and optionally
to the parse_line API of MailParse.pm. Now we write a file to disk
and parse it without reloading the MSG file from disk for speed.
The MSG gets a temporary name until the CLS file is written to prevent
the history from reloading in the middle of a download ending up with
a message with a class file error
classify_file becomes classify and can classify either from a file
or from the preparsed information in the parser
classify_and_modify returns the name of the file where the message
was stored in addition to the classification.
HTML.pm: Use add_messages_to_bucket API to reclassification for speed.
Use the new classify method in Bayes.pm to classify a file after it
has been digested by the parser for colorization and get the word
scores. This means we only load the MSG file once (used to be
twice) and hence double the speed of viewing a colorized message.
New method load_disk_cache__ and save_disk_cache__ are used to
keep a copy of the history cache on disk between sessions so that
session start up is as fast as possible. There will be no need
to parse messages for header information on start up if the
history_cache file is present.
Removed the boundary feature because it is incompatible with the
concept of a "download" since we now send new history file messages
async. through the MQ.
Load the history cache progessively as files are written. The proxies
send the message NEWFL and the method new_history_file__ adds the
file to the history. This is done so that when the user hits the
History tab button after a mail download the history cache is
already loaded and there should be no delay in displaying the
history page.
MailParse.pm: Renamed parse_stream to parse_file since that's a better name
New start_parse, stop_parse and parse_line APIs so that a file can
be parsed line by line.
MQ.pm: Defined a new message type NEWFL which is used to indicate that
a file has been added to the history cache. NEWFL's message
is the name of the file (the MSG file) that was added.
POP3.pm: Send the NEWFL message through the pipe to the parent so that
the history is aware of new messages.
SMTP.pm:
NNTP.pm: Send CLASS and NEWFL messages through the pipe to the parent.
insert.pl: Updated to use new parse_file API
bayes.pl: Updated to use new classify not classify_file API.
TEST SUITE CHANGES
tests.pl: New test_assert_regexp function for doing fuzzy matching of
test results.
Returns 0 if all tests run successfully, and 1 if there are
any errors
TestLogger.tst: New file for testing POPFile::Logger functionality.
Makefile: The test target has a variable TESTARGS can be set with the
specific module (or modules using glob patterns) to run.
For example: gmake test TESTARGS='TestLogger'
There's a new coverage target to run the test suite and output
code coverage information for the modules used.
TestCoverage.pm: New module that provides line coverage information for
the test suite. Executed as a Perl debugger using the -d
switch and outputs code coverage information for all
POPFile files tested.
Index: Makefile
===================================================================
RCS file: /cvsroot/popfile/engine/Makefile,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** Makefile 26 Jun 2003 17:41:37 -0000 1.11
--- Makefile 9 Jul 2003 18:18:09 -0000 1.12
***************
*** 11,25 ****
error:
! @echo Must specify one of test, package or windows
@echo
! @echo "test - Run POPFile test suite"
! @echo "windows - Build Windows installer"
! @echo "package - Build Windows installer, and create"
! @echo " ZIP files for Windows and cross-platform"
! @echo " version"
# test runs the POPFile unit test suite
! test: ; @perl tests.pl
# windows builds the Windows installer
--- 11,40 ----
error:
! @echo Must specify one of coverage, test, package or windows
@echo
! @echo "coverage - Run POPFile test suite with coverage information"
! @echo "test - Run POPFile test suite"
! @echo " (test and coverage pass the TESTARGS variable to the test suite)"
! @echo
! @echo "windows - Build Windows installer"
! @echo "package - Build Windows installer, and create"
! @echo " ZIP files for Windows and cross-platform"
! @echo " version"
# test runs the POPFile unit test suite
! coverage:
! @echo Running test suite with code coverage
! ifdef TESTARGS
! @echo with arguments '$(TESTARGS)'
! endif
! @perl -d:TestCoverage tests.pl $(TESTARGS)
!
! test:
! @echo Running test suite
! ifdef TESTARGS
! @echo with arguments '$(TESTARGS)'
! endif
! @perl tests.pl $(TESTARGS)
# windows builds the Windows installer
Index: bayes.pl
===================================================================
RCS file: /cvsroot/popfile/engine/bayes.pl,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** bayes.pl 6 Jul 2003 01:11:47 -0000 1.18
--- bayes.pl 9 Jul 2003 18:18:09 -0000 1.19
***************
*** 50,54 ****
foreach my $file (@files)
{
! print "$file is '" . $b->classify_file($file) . "'\n";
}
--- 50,54 ----
foreach my $file (@files)
{
! print "$file is '" . $b->classify($file) . "'\n";
}
Index: insert.pl
===================================================================
RCS file: /cvsroot/popfile/engine/insert.pl,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** insert.pl 14 Jun 2003 21:10:12 -0000 1.21
--- insert.pl 9 Jul 2003 18:18:09 -0000 1.22
***************
*** 103,107 ****
print "Parsing message '$message'...\n";
! $parser->parse_stream($message);
foreach $word (keys %{$parser->{words__}}) {
--- 103,107 ----
print "Parsing message '$message'...\n";
! $parser->parse_file($message);
foreach $word (keys %{$parser->{words__}}) {
Index: tests.pl
===================================================================
RCS file: /cvsroot/popfile/engine/tests.pl,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** tests.pl 23 Jun 2003 22:34:10 -0000 1.16
--- tests.pl 9 Jul 2003 18:18:09 -0000 1.17
***************
*** 106,109 ****
--- 106,134 ----
}
+ # ---------------------------------------------------------------------------------------------
+ #
+ # test_assert_regexp - Perform a test and assert that its result matches a regexp
+ #
+ # $file The name of the file invoking the test
+ # $line The line in the $file where the test can be found
+ # $test The result of the test that was just run
+ # $expected The expected result in the form of a regexp
+ # $context (Optional) String containing extra context information
+ #
+ # Example: test_assert_regexp( function(parameter), '^result' )
+ # Example: test_assert_regexp( function(parameter), 3, 'Banana.+subsystem' )
+ #
+ # YOU DO NOT NEED TO GIVE THE $file and $line parameters as this script supplies them
+ # automatically
+ # ---------------------------------------------------------------------------------------------
+
+ sub test_assert_regexp
+ {
+ my ( $file, $line, $test, $expected, $context ) = @_;
+ my $result = ( $test =~ /$expected/ );
+
+ test_report( $result, "expecting to match $expected and got $test", $file, $line, $context );
+ }
+
# MAIN
***************
*** 118,121 ****
--- 143,148 ----
$pattern = "$ARGV[0].*" if ( $#ARGV == 0 );
+ my $code = 0;
+
foreach my $test (@tests) {
***************
*** 138,141 ****
--- 165,169 ----
my $line = $_;
$ln += 1;
+ $line =~ s/(test_assert_regexp\()/$1 '$test', $ln,/g;
$line =~ s/(test_assert_equal\()/$1 '$test', $ln,/g;
$line =~ s/(test_assert\()/$1 '$test', $ln,/g;
***************
*** 148,151 ****
--- 176,180 ----
print "failed (" . ( $test_count - $current_test_count ) . " ok, " . ( $test_failures - $current_error_count ) . " failed)\n";
print $fail_messages . "\n";
+ $code = 1;
} else {
print "ok (" . ( $test_count - $current_test_count ) . " ok)";
***************
*** 155,156 ****
--- 184,186 ----
print "\n\n$test_count tests, " . ( $test_count - $test_failures ) . " ok, $test_failures failed\n\n";
+ exit $code;
|
|
From: <jgr...@us...> - 2003-07-09 18:18:21
|
Update of /cvsroot/popfile/engine/Devel
In directory sc8-pr-cvs1:/tmp/cvs-serv2831/Devel
Added Files:
TestCoverage.pm
Log Message:
PERFORMANCE CHANGES
Bayes.pm: Added new add_messages_to_bucket API to add multiple messages to a
bucket at the same time with a single read/write of the appropriate
corpus table for speed.
New write_line__ method to write a line to a MSG file and optionally
to the parse_line API of MailParse.pm. Now we write a file to disk
and parse it without reloading the MSG file from disk for speed.
The MSG gets a temporary name until the CLS file is written to prevent
the history from reloading in the middle of a download ending up with
a message with a class file error
classify_file becomes classify and can classify either from a file
or from the preparsed information in the parser
classify_and_modify returns the name of the file where the message
was stored in addition to the classification.
HTML.pm: Use add_messages_to_bucket API to reclassification for speed.
Use the new classify method in Bayes.pm to classify a file after it
has been digested by the parser for colorization and get the word
scores. This means we only load the MSG file once (used to be
twice) and hence double the speed of viewing a colorized message.
New method load_disk_cache__ and save_disk_cache__ are used to
keep a copy of the history cache on disk between sessions so that
session start up is as fast as possible. There will be no need
to parse messages for header information on start up if the
history_cache file is present.
Removed the boundary feature because it is incompatible with the
concept of a "download" since we now send new history file messages
async. through the MQ.
Load the history cache progessively as files are written. The proxies
send the message NEWFL and the method new_history_file__ adds the
file to the history. This is done so that when the user hits the
History tab button after a mail download the history cache is
already loaded and there should be no delay in displaying the
history page.
MailParse.pm: Renamed parse_stream to parse_file since that's a better name
New start_parse, stop_parse and parse_line APIs so that a file can
be parsed line by line.
MQ.pm: Defined a new message type NEWFL which is used to indicate that
a file has been added to the history cache. NEWFL's message
is the name of the file (the MSG file) that was added.
POP3.pm: Send the NEWFL message through the pipe to the parent so that
the history is aware of new messages.
SMTP.pm:
NNTP.pm: Send CLASS and NEWFL messages through the pipe to the parent.
insert.pl: Updated to use new parse_file API
bayes.pl: Updated to use new classify not classify_file API.
TEST SUITE CHANGES
tests.pl: New test_assert_regexp function for doing fuzzy matching of
test results.
Returns 0 if all tests run successfully, and 1 if there are
any errors
TestLogger.tst: New file for testing POPFile::Logger functionality.
Makefile: The test target has a variable TESTARGS can be set with the
specific module (or modules using glob patterns) to run.
For example: gmake test TESTARGS='TestLogger'
There's a new coverage target to run the test suite and output
code coverage information for the modules used.
TestCoverage.pm: New module that provides line coverage information for
the test suite. Executed as a Perl debugger using the -d
switch and outputs code coverage information for all
POPFile files tested.
--- NEW FILE: TestCoverage.pm ---
# ---------------------------------------------------------------------------------------------
#
# Devel::TestCoverage - Module to measure code coverage in the test suite
#
# Copyright (c) 2001-2003 John Graham-Cumming
#
# ---------------------------------------------------------------------------------------------
package Devel::TestCoverage;
package DB;
# This hash will store a count of the number of times each line is executed # in each file,
# it is in fact a hash of hashes used as
# $count{filename}{linenumber}
my %count;
# This is called when we begin the code coverage (or debugging) session
BEGIN
{
# We want to look inside subroutines so tell the debugger to trace into
# them
$DB::trace = 1;
}
# Perl will call this function for every line of code it executes. We keep
# a count for each time a line is executed
sub DB
{
# The caller function we till us what line of code, in which file and
# package called us
my ($package, $file, $line) = caller;
# A specific line in a specific file just got executed, we remove
# certain references to eval code that we wont have traced into
$count{$file}{$line} += 1 if ( ( $file =~ /\(eval/ ) == 0 );
}
END
{
# This hash will map file names of POPFile modules to coverage
my %files;
# Print out information for each file
for my $file (keys %count)
{
if ( ( $file =~ /^[^\/]/ ) && ( $file ne 'tests.pl' ) ) {
my $current_line = 0;
open SOURCE_FILE, "<$file";
# Read in each line of the source file and keep track of whether
# it was executed or not using a new couple of keys in the
# %count hash for each file: total_lines, total_executable_lines
# and total_executed
while (<SOURCE_FILE>)
{
# Keep count of the total number of lines in this file
$current_line += 1;
$count{$file}{total_lines} += 1;
# We do not count lines that are blank or exclusively
# comments or just have braces on them or
# just an else or just a subroutine definition
if ( ( /^\s*\#/ == 0 ) && ( /^\s*$/ == 0 ) && ( /^\s*(\{|\}|else)\s*$/ == 0 ) && ( /^\s*sub \w+( \{)?\s*$/ == 0 ) )
{
$count{$file}{total_executable_lines} += 1;
# If this line was executed then keep count of
# that fact
if ( $count{$file}{$current_line} > 0 ) {
$count{$file}{total_executed} += 1;
}
}
}
$files{$file} = int(100 * $count{$file}{total_executed} / $count{$file}{total_executable_lines}) unless ( $count{$file}{total_executable_lines} == 0 );
close SOURCE_FILE;
}
}
foreach my $file (sort {$files{$b} <=> $files{$a}} keys %files) {
print sprintf( "Coverage of %-32s %d%%\n", "$file...", $files{$file});
}
}
1;
|
|
From: <jgr...@us...> - 2003-07-09 18:15:16
|
Update of /cvsroot/popfile/engine/Devel In directory sc8-pr-cvs1:/tmp/cvs-serv2454/Devel Log Message: Directory /cvsroot/popfile/engine/Devel added to the repository |
|
From: <xue...@us...> - 2003-07-09 14:01:50
|
Update of /cvsroot/popfile/windows
In directory sc8-pr-cvs1:/tmp/cvs-serv22181
Modified Files:
installer.nsi
Log Message:
New NSIS compiler means language string handling can be greatly simplified, and Bulgarian & Danish can be supported again.
Index: installer.nsi
===================================================================
RCS file: /cvsroot/popfile/windows/installer.nsi,v
retrieving revision 1.83
retrieving revision 1.84
diff -C2 -d -r1.83 -r1.84
*** installer.nsi 8 Jul 2003 08:16:22 -0000 1.83
--- installer.nsi 9 Jul 2003 13:01:58 -0000 1.84
***************
*** 10,24 ****
#--------------------------------------------------------------------------
! ; Modified to work with NSIS 2.0b4 (CVS) [ MAKENSIS.EXE dated 28 June 2003 @ 06:44 or later ]
- #--------------------------------------------------------------------------
- # WARNINGS:
- #
- # (1) This script requires "NSIS Modern User Interface" version 1.65 (17 June 2003 or later)
- # because it uses the new (simplified) page configuration system.
- #
- # (2) This script must be compiled with MAKENSIS.EXE dated 28 June 2003 @ 06:44 (or later)
- # (earlier versions will crash while generating the language tables)
- #
#--------------------------------------------------------------------------
# LANGUAGE SUPPORT:
--- 10,29 ----
#--------------------------------------------------------------------------
! ; This script requires a version of NSIS 2.0b4 (CVS) which meets the following requirements:
! ;
! ; (1) "NSIS Modern User Interface" version 1.65 (17 June 2003 or later)
! ; This script uses the new (simplified) page configuration system and other improvements.
! ;
! ; (2) '{NSIS}\makensis.exe' dated 8 July 2003 @ 18:44 (NSIS CVS version 1.203) or later
! ; This is required to ensure that out-of-date NLF files do not result in blank messages
! ; and to ensure that language strings can be combined with other strings.
! ;
! ; (3) '{NSIS}\NSIS\Contrib\UIs\modern.exe' dated xx July @ xx:xx (NSIS CVS v1.xxx) or later
! ; This is required to ensure the installer works properly when 'Japanese' is selected.
!
! ; NSIS CVS snapshot 09 July 2003 @ 07:44 has a partial fix for the 'Japanese' bug - but wordwrap
! ; has not been enabled for the enlarged "Space required" field on the components page
! ; (applies to all three "Modern UI" EXE files)
#--------------------------------------------------------------------------
# LANGUAGE SUPPORT:
***************
*** 69,78 ****
# 'Languages' component to allow the installer to select the appropriate UI language.
#--------------------------------------------------------------------------
- # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- # At present (02 July 2003) support for 'Bulgarian' and 'Danish' has been disabled (as described
- # above) because in these two cases the corresponding NLF file is out-of-step and this could
- # result in wrong/missing messages during the installation.
- # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- #--------------------------------------------------------------------------
; POPFile constants have been given names beginning with 'C_' (eg C_README)
--- 74,77 ----
***************
*** 343,352 ****
; from this list. (To remove all of these languages, use /DENGLISH_ONLY on command-line)
! # [02 July 03] "Bulgarian" disabled because the main NSIS NLF language file is out of date
! # !insertmacro PFI_LANG_LOAD "Bulgarian" ; 'New style' license msgs missing (27-Jun-03)
!insertmacro PFI_LANG_LOAD "SimpChinese"
!insertmacro PFI_LANG_LOAD "TradChinese"
! # [02 July 03] "Danish" disabled because the main NSIS NLF language file is out of date
! # !insertmacro PFI_LANG_LOAD "Danish" ; 'New style' license msgs missing (27-Jun-03)
!insertmacro PFI_LANG_LOAD "Dutch"
!insertmacro PFI_LANG_LOAD "Finnish" ; 'New style' license msgs missing (27-Jun-03)
--- 342,349 ----
; from this list. (To remove all of these languages, use /DENGLISH_ONLY on command-line)
! !insertmacro PFI_LANG_LOAD "Bulgarian" ; 'New style' license msgs missing (27-Jun-03)
!insertmacro PFI_LANG_LOAD "SimpChinese"
!insertmacro PFI_LANG_LOAD "TradChinese"
! !insertmacro PFI_LANG_LOAD "Danish" ; 'New style' license msgs missing (27-Jun-03)
!insertmacro PFI_LANG_LOAD "Dutch"
!insertmacro PFI_LANG_LOAD "Finnish" ; 'New style' license msgs missing (27-Jun-03)
***************
*** 418,421 ****
--- 415,419 ----
!insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "${C_RELEASE_NOTES}" "release.txt"
+
FunctionEnd
***************
*** 431,445 ****
Function PFIGUIInit
- !define L_MSG $R9 ; holds assembled 'language' string
- !define L_TXT $R8 ; used when assembling 'language' strings
-
- Push ${L_MSG}
- Push ${L_TXT}
-
SearchPath ${G_NOTEPAD} notepad.exe
! StrCpy ${L_MSG} "$(PFI_LANG_MBRELNOTES_1)"
! StrCpy ${L_TXT} "$(PFI_LANG_MBRELNOTES_2)"
! StrCpy ${L_MSG} "${L_MSG}$\r$\n$\r$\n${L_TXT}"
! MessageBox MB_YESNO|MB_ICONQUESTION ${L_MSG} IDNO exit
StrCmp ${G_NOTEPAD} "" use_file_association
ExecWait 'notepad.exe "$PLUGINSDIR\release.txt"'
--- 429,435 ----
Function PFIGUIInit
SearchPath ${G_NOTEPAD} notepad.exe
! MessageBox MB_YESNO|MB_ICONQUESTION \
! "$(PFI_LANG_MBRELNOTES_1)$\r$\n$\r$\n$(PFI_LANG_MBRELNOTES_2)" IDNO exit
StrCmp ${G_NOTEPAD} "" use_file_association
ExecWait 'notepad.exe "$PLUGINSDIR\release.txt"'
***************
*** 458,466 ****
Call StartPOPFilePage_Init
- Pop ${L_TXT}
- Pop ${L_MSG}
-
- !undef L_MSG
- !undef L_TXT
FunctionEnd
--- 448,451 ----
***************
*** 476,485 ****
!define L_CFG $R9 ; file handle
- !define L_MSG $R8 ; assembled 'language' string
- !define L_TXT $R7 ; used when assembling 'language' string
Push ${L_CFG}
- Push ${L_MSG}
- Push ${L_TXT}
SetDetailsPrint textonly
--- 461,466 ----
***************
*** 523,536 ****
IfFileExists "$INSTDIR\stopwords" 0 copy_stopwords
! StrCpy ${L_MSG} "POPFile 'stopwords' "
! StrCpy ${L_TXT} "$(PFI_LANG_MBSTPWDS_1)"
! StrCpy ${L_MSG} "${L_MSG}${L_TXT}$\r$\n$\r$\n"
! StrCpy ${L_TXT} "$(PFI_LANG_MBSTPWDS_2)"
! StrCpy ${L_MSG} "${L_MSG}${L_TXT}$\r$\n$\r$\n"
! StrCpy ${L_TXT} "$(PFI_LANG_MBSTPWDS_3)"
! StrCpy ${L_MSG} "${L_MSG}${L_TXT} 'stopwords.bak')$\r$\n$\r$\n"
! StrCpy ${L_TXT} "$(PFI_LANG_MBSTPWDS_4)"
! StrCpy ${L_MSG} "${L_MSG}${L_TXT} 'stopwords.default')"
! MessageBox MB_YESNO|MB_ICONQUESTION ${L_MSG} IDNO copy_default_stopwords
IfFileExists "$INSTDIR\stopwords.bak" 0 make_backup
SetFileAttributes "$INSTDIR\stopwords.bak" NORMAL
--- 504,512 ----
IfFileExists "$INSTDIR\stopwords" 0 copy_stopwords
! MessageBox MB_YESNO|MB_ICONQUESTION \
! "POPFile 'stopwords' $(PFI_LANG_MBSTPWDS_1)$\r$\n$\r$\n\
! $(PFI_LANG_MBSTPWDS_2)$\r$\n$\r$\n\
! $(PFI_LANG_MBSTPWDS_3) 'stopwords.bak')$\r$\n$\r$\n\
! $(PFI_LANG_MBSTPWDS_4) 'stopwords.default')" IDNO copy_default_stopwords
IfFileExists "$INSTDIR\stopwords.bak" 0 make_backup
SetFileAttributes "$INSTDIR\stopwords.bak" NORMAL
***************
*** 552,563 ****
SetFileAttributes "$INSTDIR\popfile.cfg" NORMAL
IfFileExists "$INSTDIR\popfile.cfg.bak" 0 make_cfg_backup
! StrCpy ${L_MSG} "$(PFI_LANG_MBCFGBK_1)"
! StrCpy ${L_TXT} "$(PFI_LANG_MBCFGBK_2)"
! StrCpy ${L_MSG} "${L_MSG} 'popfile.cfg' ${L_TXT} ('popfile.cfg.bak').$\r$\n$\r$\n"
! StrCpy ${L_TXT} "$(PFI_LANG_MBCFGBK_3)"
! StrCpy ${L_MSG} "${L_MSG}${L_TXT}$\r$\n$\r$\n"
! StrCpy ${L_TXT} "$(PFI_LANG_MBCFGBK_4)"
! StrCpy ${L_MSG} "${L_MSG}${L_TXT}"
! MessageBox MB_YESNO|MB_ICONQUESTION "${L_MSG}" IDNO update_config
SetFileAttributes "$INSTDIR\popfile.cfg.bak" NORMAL
--- 528,536 ----
SetFileAttributes "$INSTDIR\popfile.cfg" NORMAL
IfFileExists "$INSTDIR\popfile.cfg.bak" 0 make_cfg_backup
! MessageBox MB_YESNO|MB_ICONQUESTION \
! "$(PFI_LANG_MBCFGBK_1) 'popfile.cfg' $(PFI_LANG_MBCFGBK_2) ('popfile.cfg.bak').\
! $\r$\n$\r$\n\
! $(PFI_LANG_MBCFGBK_3)$\r$\n$\r$\n\
! $(PFI_LANG_MBCFGBK_4)" IDNO update_config
SetFileAttributes "$INSTDIR\popfile.cfg.bak" NORMAL
***************
*** 742,752 ****
SetDetailsPrint listonly
- Pop ${L_TXT}
- Pop ${L_MSG}
Pop ${L_CFG}
!undef L_CFG
- !undef L_MSG
- !undef L_TXT
SectionEnd
--- 715,721 ----
***************
*** 822,831 ****
!insertmacro UI_LANG_CONFIG "ENGLISH" "English"
! # [02 July 03] "Bulgarian" disabled because the main NSIS NLF language file is out of date
! # !insertmacro UI_LANG_CONFIG "BULGARIAN" "Bulgarian"
!insertmacro UI_LANG_CONFIG "SIMPCHINESE" "Chinese-Simplified"
!insertmacro UI_LANG_CONFIG "TRADCHINESE" "Chinese-Traditional"
! # [02 July 03] "Danish" disabled because the main NSIS NLF language file is out of date
! # !insertmacro UI_LANG_CONFIG "DANISH" "Dansk"
!insertmacro UI_LANG_CONFIG "DUTCH" "Nederlands"
!insertmacro UI_LANG_CONFIG "FINNISH" "Suomi"
--- 791,798 ----
!insertmacro UI_LANG_CONFIG "ENGLISH" "English"
! !insertmacro UI_LANG_CONFIG "BULGARIAN" "Bulgarian"
!insertmacro UI_LANG_CONFIG "SIMPCHINESE" "Chinese-Simplified"
!insertmacro UI_LANG_CONFIG "TRADCHINESE" "Chinese-Traditional"
! !insertmacro UI_LANG_CONFIG "DANISH" "Dansk"
!insertmacro UI_LANG_CONFIG "DUTCH" "Nederlands"
!insertmacro UI_LANG_CONFIG "FINNISH" "Suomi"
***************
*** 929,934 ****
StrCmp ${L_OLD_GUI} "" try_other_port
! StrCpy ${L_RESULT} "$(PFI_LANG_INST_LOG_1)"
! DetailPrint "${L_RESULT} ${L_OLD_GUI}"
NSISdl::download_quiet http://127.0.0.1:${L_OLD_GUI}/shutdown "$PLUGINSDIR\shutdown.htm"
Sleep 250 ; milliseconds
--- 896,900 ----
StrCmp ${L_OLD_GUI} "" try_other_port
! DetailPrint "$(PFI_LANG_INST_LOG_1) ${L_OLD_GUI}"
NSISdl::download_quiet http://127.0.0.1:${L_OLD_GUI}/shutdown "$PLUGINSDIR\shutdown.htm"
Sleep 250 ; milliseconds
***************
*** 942,947 ****
StrCmp ${L_NEW_GUI} "" exit_now
! StrCpy ${L_RESULT} "$(PFI_LANG_INST_LOG_1)"
! DetailPrint "${L_RESULT} ${L_NEW_GUI}"
NSISdl::download_quiet http://127.0.0.1:${L_NEW_GUI}/shutdown "$PLUGINSDIR\shutdown.htm"
Sleep 250 ; milliseconds
--- 908,912 ----
StrCmp ${L_NEW_GUI} "" exit_now
! DetailPrint "$(PFI_LANG_INST_LOG_1) ${L_NEW_GUI}"
NSISdl::download_quiet http://127.0.0.1:${L_NEW_GUI}/shutdown "$PLUGINSDIR\shutdown.htm"
Sleep 250 ; milliseconds
***************
*** 1251,1261 ****
Function CheckPortOptions
! !define L_MSG $R9
! !define L_RESULT $R8
! !define L_TXT $R7
- Push ${L_MSG}
Push ${L_RESULT}
- Push ${L_TXT}
!insertmacro MUI_INSTALLOPTIONS_READ ${G_POP3} "ioA.ini" "Field 2" "State"
--- 1216,1222 ----
Function CheckPortOptions
! !define L_RESULT $R9
Push ${L_RESULT}
!insertmacro MUI_INSTALLOPTIONS_READ ${G_POP3} "ioA.ini" "Field 2" "State"
***************
*** 1271,1280 ****
bad_pop3:
! StrCpy ${L_MSG} "$(PFI_LANG_OPTIONS_MBPOP3_1)"
! StrCpy ${L_TXT} "$(PFI_LANG_OPTIONS_MBPOP3_2)"
! StrCpy ${L_MSG} "${L_MSG} $\"${G_POP3}$\"'.$\n$\n${L_TXT}$\n$\n"
! StrCpy ${L_TXT} "$(PFI_LANG_OPTIONS_MBPOP3_3)"
! StrCpy ${L_MSG} "${L_MSG}${L_TXT}"
! MessageBox MB_OK|MB_ICONEXCLAMATION ${L_MSG}
Goto bad_exit
--- 1232,1239 ----
bad_pop3:
! MessageBox MB_OK|MB_ICONEXCLAMATION \
! "$(PFI_LANG_OPTIONS_MBPOP3_1) $\"${G_POP3}$\"'.$\n$\n\
! $(PFI_LANG_OPTIONS_MBPOP3_2)$\n$\n\
! $(PFI_LANG_OPTIONS_MBPOP3_3)"
Goto bad_exit
***************
*** 1288,1304 ****
bad_gui:
! StrCpy ${L_MSG} "$(PFI_LANG_OPTIONS_MBGUI_1)"
! StrCpy ${L_TXT} "$(PFI_LANG_OPTIONS_MBGUI_2)"
! StrCpy ${L_MSG} "${L_MSG} $\"${G_GUI}$\".$\n$\n${L_TXT}$\n$\n"
! StrCpy ${L_TXT} "$(PFI_LANG_OPTIONS_MBGUI_3)"
! StrCpy ${L_MSG} "${L_MSG}${L_TXT}"
! MessageBox MB_OK|MB_ICONEXCLAMATION ${L_MSG}
Goto bad_exit
ports_must_differ:
! StrCpy ${L_MSG} "$(PFI_LANG_OPTIONS_MBDIFF_1)"
! StrCpy ${L_TXT} "$(PFI_LANG_OPTIONS_MBDIFF_2)"
! StrCpy ${L_MSG} "${L_MSG}$\n$\n${L_TXT}"
! MessageBox MB_OK|MB_ICONEXCLAMATION ${L_MSG}
bad_exit:
--- 1247,1260 ----
bad_gui:
! MessageBox MB_OK|MB_ICONEXCLAMATION \
! "$(PFI_LANG_OPTIONS_MBGUI_1) $\"${G_GUI}$\".$\n$\n\
! $(PFI_LANG_OPTIONS_MBGUI_2)$\n$\n\
! $(PFI_LANG_OPTIONS_MBGUI_3)"
Goto bad_exit
ports_must_differ:
! MessageBox MB_OK|MB_ICONEXCLAMATION \
! "$(PFI_LANG_OPTIONS_MBDIFF_1)$\n$\n\
! $(PFI_LANG_OPTIONS_MBDIFF_2)"
bad_exit:
***************
*** 1306,1312 ****
; Stay with the custom page created by "SetOptionsPage"
- Pop ${L_TXT}
Pop ${L_RESULT}
- Pop ${L_MSG}
Abort
--- 1262,1266 ----
***************
*** 1315,1325 ****
; Allow next page in the installation sequence to be shown
- Pop ${L_TXT}
Pop ${L_RESULT}
- Pop ${L_MSG}
- !undef L_MSG
!undef L_RESULT
- !undef L_TXT
FunctionEnd
--- 1269,1275 ----
***************
*** 1496,1504 ****
ReadRegStr ${L_OEDATA} HKCU ${L_ACCOUNT} "Account Name"
StrCpy ${L_OEDATA} $\"${L_OEDATA}$\"
! StrCpy ${LG_TEMP} "$(PFI_LANG_OECFG_IO_LINK_1)"
! StrCpy ${L_OEDATA} "${L_OEDATA} ${LG_TEMP} ${L_IDENTITY} "
! StrCpy ${LG_TEMP} "$(PFI_LANG_OECFG_IO_LINK_2)"
! StrCpy ${L_OEDATA} "${L_OEDATA}${LG_TEMP}"
! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Field 10" "Text" "${L_OEDATA}"
; Display the OE account data and offer to configure this account to work with POPFile
--- 1446,1451 ----
ReadRegStr ${L_OEDATA} HKCU ${L_ACCOUNT} "Account Name"
StrCpy ${L_OEDATA} $\"${L_OEDATA}$\"
! !insertmacro MUI_INSTALLOPTIONS_WRITE "ioB.ini" "Field 10" "Text" \
! "${L_OEDATA} $(PFI_LANG_OECFG_IO_LINK_1) ${L_IDENTITY} $(PFI_LANG_OECFG_IO_LINK_2)"
; Display the OE account data and offer to configure this account to work with POPFile
***************
*** 1590,1599 ****
Function StartPOPFilePage_Init
- !define L_MSG $R9
- !define L_TXT $R8
-
- Push ${L_MSG}
- Push ${L_TXT}
-
!insertmacro PFI_IO_TEXT "ioC.ini" "1" "$(PFI_LANG_LAUNCH_IO_INTRO)"
!insertmacro PFI_IO_TEXT "ioC.ini" "2" "$(PFI_LANG_LAUNCH_IO_NO)"
--- 1537,1540 ----
***************
*** 1601,1616 ****
!insertmacro PFI_IO_TEXT "ioC.ini" "4" "$(PFI_LANG_LAUNCH_IO_BCKGRND)"
! StrCpy ${L_MSG} "$(PFI_LANG_LAUNCH_IO_NOTE_1)"
! StrCpy ${L_TXT} "$(PFI_LANG_LAUNCH_IO_NOTE_2)"
! StrCpy ${L_MSG} "${L_MSG}\r\n\r\n${L_TXT}"
! StrCpy ${L_TXT} "$(PFI_LANG_LAUNCH_IO_NOTE_3)"
! StrCpy ${L_MSG} "${L_MSG}\r\n\r\n${L_TXT}"
! !insertmacro PFI_IO_TEXT "ioC.ini" "6" "${L_MSG}"
!
! Pop ${L_TXT}
! Pop ${L_MSG}
!
! !undef L_MSG
! !undef L_TXT
FunctionEnd
--- 1542,1549 ----
!insertmacro PFI_IO_TEXT "ioC.ini" "4" "$(PFI_LANG_LAUNCH_IO_BCKGRND)"
! !insertmacro PFI_IO_TEXT "ioC.ini" "6" \
! "$(PFI_LANG_LAUNCH_IO_NOTE_1)\r\n\r\n\
! $(PFI_LANG_LAUNCH_IO_NOTE_2)\r\n\r\n\
! $(PFI_LANG_LAUNCH_IO_NOTE_3)"
FunctionEnd
***************
*** 2089,2103 ****
!define L_CFG $R9
!define L_LNE $R8
! !define L_MSG $R7
! !define L_REG_KEY $R6
! !define L_REG_SUBKEY $R5
! !define L_REG_VALUE $R4
! !define L_TEMP $R3
IfFileExists $INSTDIR\popfile.pl skip_confirmation
! StrCpy ${L_MSG} "$(un.PFI_LANG_MBNOTFOUND_1)"
! StrCpy ${L_TEMP} "$(un.PFI_LANG_MBNOTFOUND_2)"
! StrCpy ${L_MSG} "${L_MSG} '$INSTDIR'.$\r$\n$\r$\n${L_TEMP}"
! MessageBox MB_YESNO|MB_ICONSTOP|MB_DEFBUTTON2 "${L_MSG}" IDYES skip_confirmation
Abort "$(un.PFI_LANG_ABORT_1)"
--- 2022,2034 ----
!define L_CFG $R9
!define L_LNE $R8
! !define L_REG_KEY $R7
! !define L_REG_SUBKEY $R6
! !define L_REG_VALUE $R5
! !define L_TEMP $R4
IfFileExists $INSTDIR\popfile.pl skip_confirmation
! MessageBox MB_YESNO|MB_ICONSTOP|MB_DEFBUTTON2 \
! "$(un.PFI_LANG_MBNOTFOUND_1) '$INSTDIR'.$\r$\n$\r$\n\
! $(un.PFI_LANG_MBNOTFOUND_2)" IDYES skip_confirmation
Abort "$(un.PFI_LANG_ABORT_1)"
***************
*** 2154,2159 ****
Pop ${G_GUI}
StrCmp ${G_GUI} "" skip_shutdown
! StrCpy ${L_MSG} "$(un.PFI_LANG_LOG_1)"
! DetailPrint "${L_MSG} ${G_GUI}"
NSISdl::download_quiet http://127.0.0.1:${G_GUI}/shutdown "$PLUGINSDIR\shutdown.htm"
Pop ${L_TEMP}
--- 2085,2089 ----
Pop ${G_GUI}
StrCmp ${G_GUI} "" skip_shutdown
! DetailPrint "$(un.PFI_LANG_LOG_1) ${G_GUI}"
NSISdl::download_quiet http://127.0.0.1:${G_GUI}/shutdown "$PLUGINSDIR\shutdown.htm"
Pop ${L_TEMP}
***************
*** 2201,2206 ****
FileOpen ${L_CFG} $INSTDIR\popfile.reg r
IfErrors skip_registry_restore
! StrCpy ${L_MSG} "$(un.PFI_LANG_LOG_2)"
! DetailPrint "${L_MSG}: popfile.reg"
restore_loop:
--- 2131,2135 ----
FileOpen ${L_CFG} $INSTDIR\popfile.reg r
IfErrors skip_registry_restore
! DetailPrint "$(un.PFI_LANG_LOG_2): popfile.reg"
restore_loop:
***************
*** 2221,2232 ****
IfErrors skip_registry_restore
WriteRegStr HKCU ${L_REG_KEY} ${L_REG_SUBKEY} ${L_REG_VALUE}
! StrCpy ${L_MSG} "$(un.PFI_LANG_LOG_3)"
! DetailPrint "${L_MSG} ${L_REG_SUBKEY}: ${L_REG_VALUE}"
goto restore_loop
skip_registry_restore:
FileClose ${L_CFG}
! StrCpy ${L_MSG} "$(un.PFI_LANG_LOG_4)"
! DetailPrint "${L_MSG}: popfile.reg"
Delete $INSTDIR\popfile.reg
--- 2150,2159 ----
IfErrors skip_registry_restore
WriteRegStr HKCU ${L_REG_KEY} ${L_REG_SUBKEY} ${L_REG_VALUE}
! DetailPrint "$(un.PFI_LANG_LOG_3) ${L_REG_SUBKEY}: ${L_REG_VALUE}"
goto restore_loop
skip_registry_restore:
FileClose ${L_CFG}
! DetailPrint "$(un.PFI_LANG_LOG_4): popfile.reg"
Delete $INSTDIR\popfile.reg
***************
*** 2320,2327 ****
IfFileExists $INSTDIR 0 Removed
DetailPrint "$(un.PFI_LANG_LOG_6)"
! StrCpy ${L_MSG} "$(un.PFI_LANG_MBREMERR_1)"
! StrCpy ${L_TEMP} "$(un.PFI_LANG_MBREMERR_2)"
! StrCpy ${L_MSG} "${L_MSG}: $INSTDIR ${L_TEMP}"
! MessageBox MB_OK|MB_ICONEXCLAMATION ${L_MSG}
Removed:
--- 2247,2252 ----
IfFileExists $INSTDIR 0 Removed
DetailPrint "$(un.PFI_LANG_LOG_6)"
! MessageBox MB_OK|MB_ICONEXCLAMATION \
! "$(un.PFI_LANG_MBREMERR_1): $INSTDIR $(un.PFI_LANG_MBREMERR_2)"
Removed:
***************
*** 2330,2334 ****
!undef L_CFG
!undef L_LNE
- !undef L_MSG
!undef L_REG_KEY
!undef L_REG_SUBKEY
--- 2255,2258 ----
|
|
From: <xue...@us...> - 2003-07-09 13:56:46
|
Update of /cvsroot/popfile/windows
In directory sc8-pr-cvs1:/tmp/cvs-serv21691
Modified Files:
CBP.nsh
Log Message:
New NSIS compiler means language string handling can be greatly simplified.
Index: CBP.nsh
===================================================================
RCS file: /cvsroot/popfile/windows/CBP.nsh,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** CBP.nsh 8 Jul 2003 08:12:28 -0000 1.11
--- CBP.nsh 9 Jul 2003 12:59:22 -0000 1.12
***************
*** 9,14 ****
#
#----------------------------------------------------------------------------------------------
!
! # This version of 'CBP.nsh' was tested using NSIS 2.0b4 (CVS)
!ifdef CBP.nsh_included
--- 9,20 ----
#
#----------------------------------------------------------------------------------------------
! #
! # WARNING:
! #
! # This script requires a version of NSIS 2.0b4 (CVS) which meets the following requirement:
! #
! # '{NSIS}\makensis.exe' dated 8 July 2003 @ 18:44 (NSIS CVS version 1.203) or later
! # This is required to ensure 'language' strings can be combined with other strings.
! #----------------------------------------------------------------------------------------------
!ifdef CBP.nsh_included
***************
*** 1029,1037 ****
at_the_limit:
- StrCpy ${CBP_L_RESULT} "$(PFI_LANG_CBP_IO_MSG_4)"
- StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_IO_MSG_5)"
- StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT} ${CBP_C_MAX_BNCOUNT} ${CBP_L_TEMP}"
!insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_C_MESSAGE}" \
! "Text" "${CBP_L_RESULT}"
update_lists:
--- 1035,1040 ----
at_the_limit:
!insertmacro MUI_INSTALLOPTIONS_WRITE "${CBP_C_INIFILE}" "Field ${CBP_C_MESSAGE}" \
! "Text" "$(PFI_LANG_CBP_IO_MSG_4) ${CBP_C_MAX_BNCOUNT} $(PFI_LANG_CBP_IO_MSG_5)"
update_lists:
***************
*** 1218,1249 ****
name_exists:
! StrCpy ${CBP_L_RESULT} "$(PFI_LANG_CBP_MBDUPERR_1)"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBDUPERR_2)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT} $\"${CBP_L_CREATE_NAME}$\" ${CBP_L_TEMP}"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBDUPERR_3)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT}$\n$\n${CBP_L_TEMP}"
! MessageBox MB_OK|MB_ICONEXCLAMATION "${CBP_L_RESULT}"
goto get_next_bucket_cmd
too_many:
! StrCpy ${CBP_L_RESULT} "$(PFI_LANG_CBP_MBMAXERR_1)"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBMAXERR_2)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT} ${CBP_C_MAX_BNCOUNT} ${CBP_L_TEMP}"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBMAXERR_3)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT}$\n$\n${CBP_L_TEMP} ${CBP_C_MAX_BNCOUNT}"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBMAXERR_2)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT} ${CBP_L_TEMP}"
! MessageBox MB_OK|MB_ICONEXCLAMATION "${CBP_L_RESULT}"
goto get_next_bucket_cmd
bad_name:
! StrCpy ${CBP_L_RESULT} "$(PFI_LANG_CBP_MBNAMERR_1)"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBNAMERR_2)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT} $\"${CBP_L_CREATE_NAME}$\" ${CBP_L_TEMP}"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBNAMERR_3)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT}$\n$\n${CBP_L_TEMP}$\n$\n"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBNAMERR_4)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT} ${CBP_L_TEMP}"
! MessageBox MB_OK|MB_ICONEXCLAMATION "${CBP_L_RESULT}"
goto get_next_bucket_cmd
--- 1221,1240 ----
name_exists:
! MessageBox MB_OK|MB_ICONEXCLAMATION \
! "$(PFI_LANG_CBP_MBDUPERR_1) $\"${CBP_L_CREATE_NAME}$\" $(PFI_LANG_CBP_MBDUPERR_2)$\n$\n\
! $(PFI_LANG_CBP_MBDUPERR_3)"
goto get_next_bucket_cmd
too_many:
! MessageBox MB_OK|MB_ICONINFORMATION \
! "$(PFI_LANG_CBP_MBMAXERR_1) ${CBP_C_MAX_BNCOUNT} $(PFI_LANG_CBP_MBMAXERR_2)$\n$\n\
! $(PFI_LANG_CBP_MBMAXERR_3) ${CBP_C_MAX_BNCOUNT} $(PFI_LANG_CBP_MBMAXERR_2)"
goto get_next_bucket_cmd
bad_name:
! MessageBox MB_OK|MB_ICONEXCLAMATION \
! "$(PFI_LANG_CBP_MBNAMERR_1) $\"${CBP_L_CREATE_NAME}$\" $(PFI_LANG_CBP_MBNAMERR_2)$\n$\n\
! $(PFI_LANG_CBP_MBNAMERR_3)$\n$\n\
! $(PFI_LANG_CBP_MBNAMERR_4)"
goto get_next_bucket_cmd
***************
*** 1251,1273 ****
IntCmp ${CBP_L_COUNT} 0 need_buckets
IntCmp ${CBP_L_COUNT} 1 too_few
! StrCpy ${CBP_L_RESULT} "${CBP_L_COUNT}"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBDONE_1)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT} ${CBP_L_TEMP}"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBDONE_2)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT}$\n$\n${CBP_L_TEMP}"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBDONE_3)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT}$\n$\n${CBP_L_TEMP}"
! MessageBox MB_YESNO|MB_ICONQUESTION "${CBP_L_RESULT}" IDYES finished_buckets
goto get_next_bucket_cmd
need_buckets:
! StrCpy ${CBP_L_RESULT} "$(PFI_LANG_CBP_MBCONTERR_1)"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBCONTERR_2)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT}$\n$\n${CBP_L_TEMP}"
! MessageBox MB_OK|MB_ICONEXCLAMATION "${CBP_L_RESULT}"
goto get_next_bucket_cmd
too_few:
! MessageBox MB_OK|MB_ICONEXCLAMATION "$(PFI_LANG_CBP_MBCONTERR_3)"
goto get_next_bucket_cmd
--- 1242,1259 ----
IntCmp ${CBP_L_COUNT} 0 need_buckets
IntCmp ${CBP_L_COUNT} 1 too_few
! MessageBox MB_YESNO|MB_ICONQUESTION \
! "${CBP_L_COUNT} $(PFI_LANG_CBP_MBDONE_1)$\n$\n\
! $(PFI_LANG_CBP_MBDONE_2)$\n$\n\
! $(PFI_LANG_CBP_MBDONE_3)" IDYES finished_buckets
goto get_next_bucket_cmd
need_buckets:
! MessageBox MB_OK|MB_ICONINFORMATION \
! "$(PFI_LANG_CBP_MBCONTERR_1)$\n$\n\
! $(PFI_LANG_CBP_MBCONTERR_2)"
goto get_next_bucket_cmd
too_few:
! MessageBox MB_OK|MB_ICONINFORMATION "$(PFI_LANG_CBP_MBCONTERR_3)"
goto get_next_bucket_cmd
***************
*** 1282,1294 ****
Pop ${CBP_L_RESULT}
StrCmp ${CBP_L_RESULT} "0" finished_now
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBMAKERR_1)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_TEMP} ${CBP_L_RESULT}"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBMAKERR_2)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT} ${CBP_L_TEMP} ${CBP_L_COUNT}"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBMAKERR_3)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT} ${CBP_L_TEMP}$\n$\n"
! StrCpy ${CBP_L_TEMP} "$(PFI_LANG_CBP_MBMAKERR_4)"
! StrCpy ${CBP_L_RESULT} "${CBP_L_RESULT} ${CBP_L_TEMP}"
! MessageBox MB_OK|MB_ICONEXCLAMATION "${CBP_L_RESULT}"
finished_now:
--- 1268,1274 ----
Pop ${CBP_L_RESULT}
StrCmp ${CBP_L_RESULT} "0" finished_now
! MessageBox MB_OK|MB_ICONEXCLAMATION \
! "$(PFI_LANG_CBP_MBMAKERR_1) ${CBP_L_RESULT} $(PFI_LANG_CBP_MBMAKERR_2) ${CBP_L_COUNT} \
! $(PFI_LANG_CBP_MBMAKERR_3)$\n$\n$(PFI_LANG_CBP_MBMAKERR_4)"
finished_now:
|
|
From: <xue...@us...> - 2003-07-09 13:26:54
|
Update of /cvsroot/popfile/windows/languages In directory sc8-pr-cvs1:/tmp/cvs-serv25666 Modified Files: Ukrainian-pfi.nsh Log Message: Avoid very wide message boxes. Index: Ukrainian-pfi.nsh =================================================================== RCS file: /cvsroot/popfile/windows/languages/Ukrainian-pfi.nsh,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Ukrainian-pfi.nsh 7 Jul 2003 18:38:40 -0000 1.3 --- Ukrainian-pfi.nsh 9 Jul 2003 13:26:51 -0000 1.4 *************** *** 162,166 **** !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface' control panel to create the missing bucket(s)." #-------------------------------------------------------------------------- --- 162,166 ---- !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface'$\r$\n$\r$\ncontrol panel to create the missing bucket(s)." #-------------------------------------------------------------------------- *************** *** 235,240 **** !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory? (If you have anything you created that you want to keep, click No)" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." --- 235,243 ---- !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" + !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory?$\r$\n$\r$\n(If you have anything you created that you want to keep, click No)" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." |
|
From: <xue...@us...> - 2003-07-09 13:26:21
|
Update of /cvsroot/popfile/windows/languages In directory sc8-pr-cvs1:/tmp/cvs-serv25621 Modified Files: TradChinese-pfi.nsh Log Message: Avoid very wide message boxes. Index: TradChinese-pfi.nsh =================================================================== RCS file: /cvsroot/popfile/windows/languages/TradChinese-pfi.nsh,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TradChinese-pfi.nsh 7 Jul 2003 18:38:40 -0000 1.4 --- TradChinese-pfi.nsh 9 Jul 2003 13:26:18 -0000 1.5 *************** *** 162,166 **** !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface' control panel to create the missing bucket(s)." #-------------------------------------------------------------------------- --- 162,166 ---- !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface'$\r$\n$\r$\ncontrol panel to create the missing bucket(s)." #-------------------------------------------------------------------------- *************** *** 235,240 **** !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory? (If you have anything you created that you want to keep, click No)" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." --- 235,243 ---- !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" + !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory?$\r$\n$\r$\n(If you have anything you created that you want to keep, click No)" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." |
|
From: <xue...@us...> - 2003-07-09 13:26:00
|
Update of /cvsroot/popfile/windows/languages In directory sc8-pr-cvs1:/tmp/cvs-serv25553 Modified Files: Swedish-pfi.nsh Log Message: Avoid very wide message boxes. Index: Swedish-pfi.nsh =================================================================== RCS file: /cvsroot/popfile/windows/languages/Swedish-pfi.nsh,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Swedish-pfi.nsh 7 Jul 2003 18:38:40 -0000 1.3 --- Swedish-pfi.nsh 9 Jul 2003 13:25:55 -0000 1.4 *************** *** 162,166 **** !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface' control panel to create the missing bucket(s)." #-------------------------------------------------------------------------- --- 162,166 ---- !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface'$\r$\n$\r$\ncontrol panel to create the missing bucket(s)." #-------------------------------------------------------------------------- *************** *** 235,240 **** !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory? (If you have anything you created that you want to keep, click No)" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." --- 235,243 ---- !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" + !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory?$\r$\n$\r$\n(If you have anything you created that you want to keep, click No)" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." |
|
From: <xue...@us...> - 2003-07-09 13:25:37
|
Update of /cvsroot/popfile/windows/languages In directory sc8-pr-cvs1:/tmp/cvs-serv25519 Modified Files: Spanish-pfi.nsh Log Message: Avoid very wide message boxes. Index: Spanish-pfi.nsh =================================================================== RCS file: /cvsroot/popfile/windows/languages/Spanish-pfi.nsh,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Spanish-pfi.nsh 7 Jul 2003 18:38:40 -0000 1.3 --- Spanish-pfi.nsh 9 Jul 2003 13:25:34 -0000 1.4 *************** *** 162,166 **** !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface' control panel to create the missing bucket(s)." #-------------------------------------------------------------------------- --- 162,166 ---- !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface'$\r$\n$\r$\ncontrol panel to create the missing bucket(s)." #-------------------------------------------------------------------------- *************** *** 235,240 **** !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory? (If you have anything you created that you want to keep, click No)" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." --- 235,243 ---- !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" + !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory?$\r$\n$\r$\n(If you have anything you created that you want to keep, click No)" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." |
|
From: <xue...@us...> - 2003-07-09 13:25:17
|
Update of /cvsroot/popfile/windows/languages In directory sc8-pr-cvs1:/tmp/cvs-serv25345 Modified Files: Slovak-pfi.nsh Log Message: Avoid very wide message boxes. Index: Slovak-pfi.nsh =================================================================== RCS file: /cvsroot/popfile/windows/languages/Slovak-pfi.nsh,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Slovak-pfi.nsh 7 Jul 2003 18:38:40 -0000 1.3 --- Slovak-pfi.nsh 9 Jul 2003 13:25:13 -0000 1.4 *************** *** 162,166 **** !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface' control panel to create the missing bucket(s)." #-------------------------------------------------------------------------- --- 162,166 ---- !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface'$\r$\n$\r$\ncontrol panel to create the missing bucket(s)." #-------------------------------------------------------------------------- *************** *** 235,240 **** !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory? (If you have anything you created that you want to keep, click No)" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." --- 235,243 ---- !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" + !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory?$\r$\n$\r$\n(If you have anything you created that you want to keep, click No)" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." |
|
From: <xue...@us...> - 2003-07-09 13:24:54
|
Update of /cvsroot/popfile/windows/languages In directory sc8-pr-cvs1:/tmp/cvs-serv25230 Modified Files: SimpChinese-pfi.nsh Log Message: Avoid very wide message boxes. Index: SimpChinese-pfi.nsh =================================================================== RCS file: /cvsroot/popfile/windows/languages/SimpChinese-pfi.nsh,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SimpChinese-pfi.nsh 7 Jul 2003 18:38:40 -0000 1.3 --- SimpChinese-pfi.nsh 9 Jul 2003 13:24:51 -0000 1.4 *************** *** 162,166 **** !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface' control panel to create the missing bucket(s)." #-------------------------------------------------------------------------- --- 162,166 ---- !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface'$\r$\n$\r$\ncontrol panel to create the missing bucket(s)." #-------------------------------------------------------------------------- *************** *** 235,240 **** !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory? (If you have anything you created that you want to keep, click No)" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." --- 235,243 ---- !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" + !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory?$\r$\n$\r$\n(If you have anything you created that you want to keep, click No)" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." |
|
From: <xue...@us...> - 2003-07-09 13:24:24
|
Update of /cvsroot/popfile/windows/languages In directory sc8-pr-cvs1:/tmp/cvs-serv25156 Modified Files: Russian-pfi.nsh Log Message: Avoid very wide message boxes. Index: Russian-pfi.nsh =================================================================== RCS file: /cvsroot/popfile/windows/languages/Russian-pfi.nsh,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Russian-pfi.nsh 7 Jul 2003 18:38:40 -0000 1.3 --- Russian-pfi.nsh 9 Jul 2003 13:24:21 -0000 1.4 *************** *** 162,166 **** !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface' control panel to create the missing bucket(s)." #-------------------------------------------------------------------------- --- 162,166 ---- !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface'$\r$\n$\r$\ncontrol panel to create the missing bucket(s)." #-------------------------------------------------------------------------- *************** *** 235,240 **** !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory? (If you have anything you created that you want to keep, click No)" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." --- 235,243 ---- !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" + !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory?$\r$\n$\r$\n(If you have anything you created that you want to keep, click No)" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." |
|
From: <xue...@us...> - 2003-07-09 13:23:56
|
Update of /cvsroot/popfile/windows/languages In directory sc8-pr-cvs1:/tmp/cvs-serv25087 Modified Files: PortugueseBR-pfi.nsh Log Message: Avoid very wide message boxes. Index: PortugueseBR-pfi.nsh =================================================================== RCS file: /cvsroot/popfile/windows/languages/PortugueseBR-pfi.nsh,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PortugueseBR-pfi.nsh 7 Jul 2003 18:38:40 -0000 1.3 --- PortugueseBR-pfi.nsh 9 Jul 2003 13:23:54 -0000 1.4 *************** *** 162,166 **** !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface' control panel to create the missing bucket(s)." #-------------------------------------------------------------------------- --- 162,166 ---- !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface'$\r$\n$\r$\ncontrol panel to create the missing bucket(s)." #-------------------------------------------------------------------------- *************** *** 235,240 **** !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory? (If you have anything you created that you want to keep, click No)" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." --- 235,243 ---- !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" + !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory?$\r$\n$\r$\n(If you have anything you created that you want to keep, click No)" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." |
|
From: <xue...@us...> - 2003-07-09 13:23:36
|
Update of /cvsroot/popfile/windows/languages In directory sc8-pr-cvs1:/tmp/cvs-serv25044 Modified Files: Portuguese-pfi.nsh Log Message: Avoid very wide message boxes. Index: Portuguese-pfi.nsh =================================================================== RCS file: /cvsroot/popfile/windows/languages/Portuguese-pfi.nsh,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Portuguese-pfi.nsh 7 Jul 2003 18:38:40 -0000 1.3 --- Portuguese-pfi.nsh 9 Jul 2003 13:23:33 -0000 1.4 *************** *** 162,166 **** !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface' control panel to create the missing bucket(s)." #-------------------------------------------------------------------------- --- 162,166 ---- !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface'$\r$\n$\r$\ncontrol panel to create the missing bucket(s)." #-------------------------------------------------------------------------- *************** *** 235,240 **** !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory? (If you have anything you created that you want to keep, click No)" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." --- 235,243 ---- !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" + !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory?$\r$\n$\r$\n(If you have anything you created that you want to keep, click No)" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." |
|
From: <xue...@us...> - 2003-07-09 13:22:54
|
Update of /cvsroot/popfile/windows/languages In directory sc8-pr-cvs1:/tmp/cvs-serv24937 Modified Files: Korean-pfi.nsh Log Message: Avoid very wide message boxes. Index: Korean-pfi.nsh =================================================================== RCS file: /cvsroot/popfile/windows/languages/Korean-pfi.nsh,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Korean-pfi.nsh 7 Jul 2003 18:38:40 -0000 1.4 --- Korean-pfi.nsh 9 Jul 2003 13:22:51 -0000 1.5 *************** *** 162,166 **** !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface' control panel to create the missing bucket(s)." #-------------------------------------------------------------------------- --- 162,166 ---- !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface'$\r$\n$\r$\ncontrol panel to create the missing bucket(s)." #-------------------------------------------------------------------------- *************** *** 235,240 **** !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory? (If you have anything you created that you want to keep, click No)" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." --- 235,243 ---- !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" + !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory?$\r$\n$\r$\n(If you have anything you created that you want to keep, click No)" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." |
|
From: <xue...@us...> - 2003-07-09 13:22:20
|
Update of /cvsroot/popfile/windows/languages In directory sc8-pr-cvs1:/tmp/cvs-serv24885 Modified Files: Japanese-pfi.nsh Log Message: Avoid very wide message boxes. Index: Japanese-pfi.nsh =================================================================== RCS file: /cvsroot/popfile/windows/languages/Japanese-pfi.nsh,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Japanese-pfi.nsh 7 Jul 2003 18:38:40 -0000 1.4 --- Japanese-pfi.nsh 9 Jul 2003 13:22:17 -0000 1.5 *************** *** 162,166 **** !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface' control panel to create the missing bucket(s)." #-------------------------------------------------------------------------- --- 162,166 ---- !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_2 "of the" !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_3 "buckets you selected." ! !insertmacro PFI_LANG_STRING PFI_LANG_CBP_MBMAKERR_4 "Once POPFile has been installed you can use its 'User Interface'$\r$\n$\r$\ncontrol panel to create the missing bucket(s)." #-------------------------------------------------------------------------- *************** *** 235,240 **** !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory? (If you have anything you created that you want to keep, click No)" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." --- 235,243 ---- !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_1 "It does not appear that POPFile is installed in the directory" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBNOTFOUND_2 "Continue anyway (not recommended) ?" + !insertmacro PFI_LANG_UNSTRING PFI_LANG_ABORT_1 "Uninstall aborted by user" ! ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMDIR_1 "Do you want to remove all files in your POPFile directory?$\r$\n$\r$\n(If you have anything you created that you want to keep, click No)" ! !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_1 "Note" !insertmacro PFI_LANG_UNSTRING PFI_LANG_MBREMERR_2 "could not be removed." |