Changeset 71
- Timestamp:
- 11/29/05 13:56:01 (19 years ago)
- Location:
- trunk/soft/ObsData
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/soft/ObsData/ObsData.pm
- Property cvs2svn:cvs-rev changed from 1.21 to 1.22
r68 r71 6 6 use warnings; 7 7 use Config::IniFiles; 8 use DBD::SQLite;9 8 use POSIX qw(strftime); 10 9 use ObsData::Repository; … … 51 50 verbose => defined($options{verbose}) ? $options{verbose} : 1, 52 51 logcallback => $options{logcallback}, 53 dir => $options{dir},52 logfile => $options{logfile} || "obsdata.log", 54 53 }; 55 54 … … 61 60 62 61 bless($obsdata, $class); 63 64 62 } 65 63 … … 71 69 $self->{loghandle} = undef; 72 70 } 73 74 71 } 75 72 … … 77 74 my ($self) = @_; 78 75 79 if (! ($self->{dir} ||= $self->{config}->val('global', 'dir'))) { 80 $self->loging(5, "Data directory not defined", $self->{dir}); 81 return 0; 82 } 83 84 if (! -d $self->{dir}) { 85 $self->loging(5, "Data directory %s does not exists", $self->{dir}); 86 return 0; 87 } 88 89 if (!open($self->{loghandle}, ">> $self->{dir}/logs/obsdata.log")) { 76 if (!open($self->{loghandle}, ">> $self->{logfile}")) { 90 77 $self->{loghandle} = undef; 91 $self->loging(5, "Can't open log file %s, exiting", "$self->{ dir}/logs/obsdata.log");78 $self->loging(5, "Can't open log file %s, exiting", "$self->{logfile}"); 92 79 return 0; 93 80 } … … 100 87 my $msg = sprintf($fmt, @val); 101 88 my $logh = $self->{loghandle}; 89 if ($self->{logcallback}) { 90 $self->{logcallback}->($level, $msg); 91 } 102 92 if($level >= 0 && $level >= $self->{verbose}) { 103 if ($self->{logcallback}) {104 $self->{logcallback}->($level, $msg);105 }106 93 if ($logh) { 107 94 printf $logh … … 119 106 return $loglevel[ $l ] || "?????"; 120 107 } 121 122 sub init_repository {123 my ($self) = @_;124 125 if (!-d $self->{dir}) {126 mkdir $self->{dir} or return 0;127 }128 129 if (!-d "$self->{dir}/logs") {130 mkdir "$self->{dir}/logs" or return 0;131 }132 133 my $db = DBI->connect("dbi:SQLite:dbname=$self->{dir}/obsdata.db","","",134 { RaiseError => 1, AutoCommit => 1}135 ) or return 0;136 137 $self->load or return 0;138 $self->loging(1, "Repository succefully created in %s", $self->{dir});139 140 1;141 }142 143 108 144 109 =head2 checkconfig() -
trunk/soft/ObsData/bin/obsdata
- Property cvs2svn:cvs-rev changed from 1.4 to 1.5
r56 r71 8 8 use Getopt::Long; 9 9 10 my $verbose = 2; 11 10 12 GetOptions( 11 13 'c=s' => \my $configfile, 12 ' d|dir=s' => \my $dir,14 'logfile=s' => \my $log, 13 15 'i|init' => \my $init, 14 16 'debug' => \my $debug, 17 'v' => sub { $verbose-- }, 15 18 ); 16 19 17 20 my $obsdata = ObsData->new( 18 21 $configfile, 19 dir => $dir,22 logfile => $log, 20 23 verbose => $debug ? 0 : undef, 21 24 logcallback => sub { 25 return if($_[0] < $verbose); 22 26 printf("[%s] %s\n", ObsData::loglevel($_[0]), $_[1]); 23 27 }, -
trunk/soft/ObsData/t/O-01.t
- Property cvs2svn:cvs-rev changed from 1.5 to 1.6
r46 r71 1 1 # $Id$ 2 2 3 use Test::More tests => 4;3 use Test::More tests => 3; 4 4 5 5 use_ok('ObsData'); 6 7 can_ok('ObsData', qw(init_repository));8 6 9 7 can_ok('ObsData', qw(list_obs list_obsdatadir list_typedatadir get_datadir getvalue is_obs)); -
trunk/soft/ObsData/t/O-02.t
- Property cvs2svn:cvs-rev changed from 1.11 to 1.12
r62 r71 1 1 # $Id$ 2 2 3 use Test::More tests => 2 9;3 use Test::More tests => 26; 4 4 use File::Temp qw(tempdir); 5 5 use POSIX qw(strftime); … … 7 7 use_ok('ObsData'); 8 8 9 my $td = tempdir; 10 { 11 my $o = ObsData->new(undef, dir => $td); 12 ok($o->init_repository($td), "Can initialize repos data"); 13 ok(-f "$td/obsdata.db", "db is really create"); 14 ok(-d "$td/logs", "log directory exists"); 15 } 16 17 18 ok(my $o = ObsData->new('testdata/obsdata-conftest', dir => $td), "Can create object"); 9 ok(my $o = ObsData->new('testdata/obsdata-conftest', logfile => "testdata/obsdata.log"), "Can create object"); 19 10 20 11 # Log level testing … … 76 67 77 68 $o = undef; # Explicit destroy 78 system("rm -fr $td");
Note: See TracChangeset
for help on using the changeset viewer.