Changeset 61
- Timestamp:
- 27.11.2006 19:37:08 (2 years ago)
- Files:
-
- trunk/devel/FuzzyOcr/Config.pm (modified) (3 diffs)
- trunk/devel/FuzzyOcr/Deanimate.pm (modified) (1 diff)
- trunk/devel/FuzzyOcr/Hashing.pm (modified) (1 diff)
- trunk/devel/FuzzyOcr/Logging.pm (added)
- trunk/devel/FuzzyOcr/Misc.pm (modified) (3 diffs)
- trunk/devel/FuzzyOcr/Preprocessor.pm (modified) (1 diff)
- trunk/devel/FuzzyOcr/Scanset.pm (modified) (2 diffs)
- trunk/devel/FuzzyOcr/Scoring.pm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/devel/FuzzyOcr/Config.pm
r60 r61 2 2 package FuzzyOcr::Config; 3 3 4 use FuzzyOcr::Logging qw(debuglog logfile); 5 4 6 use FuzzyOcr::Scanset; 5 7 use FuzzyOcr::Preprocessor; 8 6 9 7 10 use base 'Exporter'; … … 28 31 logfile); 29 32 30 use Mail::SpamAssassin::Logger;31 33 use Fcntl ':flock'; 32 34 use POSIX; … … 704 706 } 705 707 706 sub logfile {707 my $conf = get_config();708 my $logtext = $_[0];709 my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time);710 my $time = sprintf(711 "%4d-%02d-%02d %02d:%02d:%02d",712 $year + 1900,713 $mon + 1, $mday, $hour, $min, $sec714 );715 $logtext =~ s/\n/\n /g;716 717 unless ( open LOGFILE, ">>", $conf->{focr_logfile} ) {718 warn "Can't open $conf->{focr_logfile} for writing, check permissions";719 }720 flock( LOGFILE, LOCK_EX );721 seek( LOGFILE, 0, 2 );722 print LOGFILE "$time [$$] $logtext\n";723 flock( LOGFILE, LOCK_UN );724 close LOGFILE;725 }726 727 sub debuglog {728 my $conf = get_config();729 my @lines = split('\n',$_[0]);730 my $limit = defined $_[1] ? $_[1] : 1;731 if ( $conf->{focr_verbose} > $limit ) {732 logfile($_[0]) if defined $conf->{focr_logfile};733 if ($conf->{focr_log_stderr}) {734 foreach (@lines) { info ("FuzzyOcr: $_"); }735 }736 } else {737 foreach (@lines) { dbg ("FuzzyOcr: $_"); }738 }739 }740 741 708 sub parse_scansets { 742 709 my ($file) = @_; trunk/devel/FuzzyOcr/Deanimate.pm
r59 r61 6 6 7 7 use lib "../"; 8 use FuzzyOcr::Config qw(get_config set_config get_tmpdir debuglog logfile);8 use FuzzyOcr::Config qw(get_config set_config get_tmpdir); 9 9 use FuzzyOcr::Misc qw(save_execute); 10 use FuzzyOcr::Logging qw(debuglog logfile); 10 11 11 12 # Provide functions to deanimate gifs trunk/devel/FuzzyOcr/Hashing.pm
r59 r61 8 8 9 9 use lib "../"; 10 use FuzzyOcr::Config qw(get_thresholds get_config set_config get_tmpdir debuglog logfile);10 use FuzzyOcr::Config qw(get_thresholds get_config set_config get_tmpdir); 11 11 use FuzzyOcr::Misc qw(save_execute); 12 use FuzzyOcr::Logging qw(debuglog logfile); 12 13 use Fcntl; 13 14 use Fcntl ':flock'; trunk/devel/FuzzyOcr/Misc.pm
r60 r61 6 6 7 7 use lib "../"; 8 use FuzzyOcr::Config qw(set_pid unset_pid get_timeout get_pms get_config set_config debuglog logfile); 8 use FuzzyOcr::Config qw(set_pid unset_pid get_timeout get_pms get_config set_config); 9 use FuzzyOcr::Logging qw(debuglog logfile); 9 10 use Time::HiRes qw( time usleep ualarm gettimeofday tv_interval ); 10 11 … … 92 93 return -1; 93 94 } elsif (not $pid) { 94 debuglog("Exec: $cmd $stdout $stderr",2);95 debuglog("Exec: $cmd $stdout 2$stderr",2); 95 96 96 97 if (defined $stdin) { … … 103 104 open(STDERR, $stderr); 104 105 } 105 exec($cmd); 106 exit($?); 106 unless(exec($cmd)) { 107 exit(1); 108 } 107 109 } else { 108 110 set_pid($pid); trunk/devel/FuzzyOcr/Preprocessor.pm
r60 r61 1 1 package FuzzyOcr::Preprocessor; 2 2 3 use lib "../";4 3 use FuzzyOcr::Config; 4 use FuzzyOcr::Logging qw(debuglog logfile); 5 5 6 6 sub new { trunk/devel/FuzzyOcr/Scanset.pm
r60 r61 1 1 package FuzzyOcr::Scanset; 2 2 3 use lib "../";4 3 use FuzzyOcr::Config; 4 use FuzzyOcr::Logging qw(debuglog logfile); 5 5 6 6 sub new { … … 71 71 if ($out_in) { 72 72 $retcode = FuzzyOcr::Misc::save_execute($rcmd, $stdin, $stdout, $stderr); 73 open(INFILE, "<$out_in"); 73 unless ( open(INFILE, "<$tmpdir/$out_in") ) { 74 debuglog("Unable to read output from \"$out_in\" for scanset $self->{label}"); 75 $stderr =~ tr/>|</ /; 76 if (open(INFILE, "<$stderr")) { 77 @result = <INFILE>; 78 close(INFILE); 79 return ($retcode, @result); 80 } 81 } 74 82 @result = <INFILE>; 75 83 close(INFILE); trunk/devel/FuzzyOcr/Scoring.pm
r21 r61 6 6 7 7 use lib "../"; 8 use FuzzyOcr::Config qw(get_pms get_config set_config debuglog logfile); 8 use FuzzyOcr::Config qw(get_pms get_config set_config); 9 use FuzzyOcr::Logging qw(debuglog logfile); 9 10 10 11 # Provide custom scoring functions
