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

Contents of /webroot/swe/lib/SWE/DB/IDText.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Sun Nov 9 06:46:47 2008 UTC (16 years, 5 months ago) by wakaba
Branch: MAIN
++ swe/lib/SWE/DB/ChangeLog	9 Nov 2008 06:46:33 -0000
2008-11-09  Wakaba  <wakaba@suika.fam.cx>

	* Lock.pm, HashedProps.pm, IDDOM.pm, IDGenerator.pm, IDProps.pm,
	IDText.pm, SuikaWiki3PageList.pm: New modules.

	* SuikaWiki3.pm, SuikaWiki3LastModified.pm: Changed to use plain
	base 16 encoded file name string as key, rather than array
	reference as in SuikaWiki3.

	* SuikaWiki3LastModified.pm (save_data, set_data): Removed.
	(load_data): Renamed as |_load_data|.
	(get_data): Invoke |_load_data| if and only if necessary.

	* SuikaWiki3Props.pm: Don't treat "%" as a part of hash key.

1 wakaba 1.1 package SWE::DB::IDText;
2     use strict;
3    
4     require SWE::DB::IDProps;
5     push our @ISA, 'SWE::DB::IDProps';
6    
7     sub new ($) {
8     my $self = shift->SUPER::new (@_);
9     $self->{leaf_suffix} = '.txt';
10     return $self;
11     } # new
12    
13     sub get_data ($$) {
14     my $self = shift;
15     my $file_name = $self->_get_file_name ($_[0]);
16    
17     unless (-f $file_name) {
18     return undef;
19     }
20    
21     open my $file, '<:encoding(utf8)', $file_name or die "$0: $file_name: $!";
22     local $/ = undef;
23     return \ (<$file>);
24     } # get_data
25    
26     sub set_data ($$$) {
27     my $self = shift;
28     my $file_name = $self->_get_file_name ($_[0], 1);
29     my $textref = $_[1];
30    
31     my $has_file = -f $file_name;
32    
33     open my $file, '>:encoding(utf8)', $file_name or die "$0: $file_name: $!";
34     print $file $$textref;
35    
36     ## TODO: cvs
37     } # set_data
38    
39     1;

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24