/[suikacvs]/webroot/swe/lib/SWE/DB/SuikaWiki3.pm
Suika

Diff of /webroot/swe/lib/SWE/DB/SuikaWiki3.pm

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

revision 1.2 by wakaba, Sat Nov 8 08:09:31 2008 UTC revision 1.4 by wakaba, Sun Nov 9 06:46:47 2008 UTC
# Line 5  require Encode::EUCJPSW; Line 5  require Encode::EUCJPSW;
5    
6  sub new ($) {  sub new ($) {
7    my $self = bless {    my $self = bless {
     ns_suffix => '.ns',  
8      leaf_suffix => '.txt',      leaf_suffix => '.txt',
     root_key => ['HomePage'],  
9      root_directory_name => ',/',      root_directory_name => ',/',
10    }, shift;    }, shift;
   
11    return $self;    return $self;
12  } # new  } # new
13    
14  my $get_file_name = sub {  sub _get_file_name ($$) {
15    my $self = shift;    my ($self, $key) = @_;
   my $key = shift;  
   $key = $self->{root_key} if @$key == 0;  
   
   my $file_name = $self->{root_directory_name};  
   $file_name .= join '/',  
       map { s/(.)/sprintf '%02X', ord $1/sge; $_ . $self->{ns_suffix} }  
       map { Encode::encode ('euc-jp-sw', $_) } @$key;  
   $file_name =~ s/\Q$self->{ns_suffix}\E$/$self->{leaf_suffix}/;  
16        
17    return $file_name;    return $self->{root_directory_name} . $key . $self->{leaf_suffix};
18  }; # $get_file_name  } # _get_file_name
19    
20  sub get_data ($$) {  sub get_data ($$) {
21    my $self = shift;    my $self = $_[0];
22    my $file_name = $get_file_name->($self, $_[0]);    my $file_name = $self->_get_file_name ($_[1]);
23    
24    return undef unless -f $file_name;    return undef unless -f $file_name;
25    
# Line 40  sub get_data ($$) { Line 29  sub get_data ($$) {
29    return scalar <$file>;    return scalar <$file>;
30  } # get_data  } # get_data
31    
 sub set_data ($$$) {  
   
 ## not implemented yet.  
   
 } # set_data  
   
32  1;  1;

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.4

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24