/[webpac2]/trunk/lib/WebPAC/Input.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/WebPAC/Input.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1100 by dpavlin, Sat Aug 2 23:46:41 2008 UTC revision 1286 by dpavlin, Fri Sep 18 21:30:30 2009 UTC
# Line 3  package WebPAC::Input; Line 3  package WebPAC::Input;
3  use warnings;  use warnings;
4  use strict;  use strict;
5    
6  use blib;  use lib 'lib';
7    
8  use WebPAC::Common;  use WebPAC::Common;
9  use base qw/WebPAC::Common/;  use base qw/WebPAC::Common/;
10  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
11  use Encode qw/decode from_to/;  use Encode qw/decode from_to/;
12    use YAML;
13    
14  =head1 NAME  =head1 NAME
15    
# Line 182  sub open { Line 183  sub open {
183    
184          # store data in object          # store data in object
185          foreach my $v (qw/path offset limit/) {          foreach my $v (qw/path offset limit/) {
186                  $self->{$v} = $arg->{$v} if ($arg->{$v});                  $self->{$v} = $arg->{$v} if defined $arg->{$v};
187          }          }
188    
189          if ($arg->{load_row} || $arg->{save_row}) {          if ($arg->{load_row} || $arg->{save_row}) {
# Line 229  sub open { Line 230  sub open {
230    
231          my $class = $self->{module} || $log->logconfess("can't get low-level module name!");          my $class = $self->{module} || $log->logconfess("can't get low-level module name!");
232    
233            $arg->{$_} = $self->{$_} foreach qw(offset limit);
234    
235          my $ll_db = $class->new(          my $ll_db = $class->new(
236                  path => $arg->{path},                  path => $arg->{path},
237                  input_config => $arg->{input_config} || $self->{input_config},                  input_config => $arg->{input_config} || $self->{input_config},
# Line 242  sub open { Line 245  sub open {
245                  %{ $arg },                  %{ $arg },
246          );          );
247    
248            # save for dump and input_module
249            $self->{ll_db} = $ll_db;
250    
251          unless (defined($ll_db)) {          unless (defined($ll_db)) {
252                  $log->logwarn("can't open database $arg->{path}, skipping...");                  $log->logwarn("can't open database $arg->{path}, skipping...");
253                  return;                  return;
# Line 296  sub open { Line 302  sub open {
302                                  $log->debug("-=> $f_nr ## $l");                                  $log->debug("-=> $f_nr ## $l");
303    
304                                  # codepage conversion and recode_regex                                  # codepage conversion and recode_regex
305  #                               $l = decode($input_encoding, $l, 1);                                  $l = decode($input_encoding, $l, 1);
                                 from_to( $l, $input_encoding, 'utf-8', 1 );  
306                                  $l =~ s/($recode_regex)/$recode_map->{$1}/g if ($recode_regex && $recode_map);                                  $l =~ s/($recode_regex)/$recode_map->{$1}/g if ($recode_regex && $recode_map);
307    
308                                  # apply regexps                                  # apply regexps
# Line 316  sub open { Line 321  sub open {
321                                                          warn "*** $d\n" if ($debug);                                                          warn "*** $d\n" if ($debug);
322    
323                                                  }                                                  }
324                                                  $log->error("error applying regex: $r") if ($@);                                                  $log->error("error applying regex: ",dump($r), $@) if $@;
325                                          }                                          }
326                                  }                                  }
327    
# Line 386  sub open { Line 391  sub open {
391          $self->{max_pos} = $to_rec;          $self->{max_pos} = $to_rec;
392          $log->debug("max_pos: $to_rec");          $log->debug("max_pos: $to_rec");
393    
         # save for dump  
         $self->{ll_db} = $ll_db;  
   
394          return $size;          return $size;
395  }  }
396    
397    sub input_module { $_[0]->{ll_db} }
398    
399  =head2 fetch  =head2 fetch
400    
401  Fetch next record from database. It will also displays progress bar.  Fetch next record from database. It will also displays progress bar.
# Line 562  sub stats { Line 566  sub stats {
566    
567          $log->debug( sub { dump($s) } );          $log->debug( sub { dump($s) } );
568    
569            my $path = 'var/stats.yml';
570            YAML::DumpFile( $path, $s );
571            $log->info( 'created ', $path, ' with ', -s $path, ' bytes' );
572    
573          return $out;          return $out;
574  }  }
575    
# Line 720  sub modify_file_regexps { Line 728  sub modify_file_regexps {
728                                  line => $.,                                  line => $.,
729                          };                          };
730                          $log->debug("regex: $regex");                          $log->debug("regex: $regex");
731                    } else {
732                            die "can't parse: $_";
733                  }                  }
734          }          }
735    

Legend:
Removed from v.1100  
changed lines
  Added in v.1286

  ViewVC Help
Powered by ViewVC 1.1.26