Parent Directory
|
Revision Log
++ 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 |