X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=lib%2FCloudStore%2FAPI.pm;h=bb7bbc96d48443cc3f215a4a2c998f77a259e09c;hb=bebcb6dac038ad77e82ae7750c355250084deb13;hp=e4c5875add2fcc12945758b67d386160e39047f5;hpb=7d8aee15a1473c8442f1ac22e5f40ae44619c6af;p=cloudstore.git diff --git a/lib/CloudStore/API.pm b/lib/CloudStore/API.pm index e4c5875..bb7bbc9 100644 --- a/lib/CloudStore/API.pm +++ b/lib/CloudStore/API.pm @@ -162,6 +162,7 @@ sub usage { $user = $self->user_info($user) unless ref $user eq 'HASH'; my $usage_path = $user->{dir} . '/.meta/files.usage'; + $self->mkbasepath( $usage_path, { uid => $user->{uid} } ); if ( ! -e $usage_path ) { warn "# usage $usage_path missing"; $self->list_files($user); @@ -171,7 +172,7 @@ sub usage { my $size = <$fh>; chomp $size; - warn "# usage $user->{login} usage: $size\n"; + warn "# usage $user->{login} $size bytes\n"; return $size; =for slow and broken @@ -319,7 +320,9 @@ sub file_size { $user = $self->user_info($user) unless ref $user eq 'HASH'; my $full_path = "$user->{dir}/$path"; - return -s $full_path; + my $size = -s $full_path; + warn "# file_size $full_path = $size bytes\n"; + return $size; } sub list_files { @@ -332,7 +335,8 @@ sub list_files { die "no dir for ",dump($user) unless exists $user->{dir}; my $files = $user->{dir} . '/.meta/files'; - if ( -e $files && -s $files > 0) { + $self->mkbasepath( $files, { uid => $user->{uid} } ); + if ( -e $files && -s $files > 0 && -e "$files.usage") { local $/ = undef; open(my $fh, '<', $files); my $list = <$fh>;