if ( $f->{uid} == $self->{md5}->{uid} ) {
$md5 = $f_path; # we don't have local md5sum db for md5 user!
} else {
- $md5 = $self->md5sum($f)->get( $f_path );
- $self->md5sum_close($f);
+ $md5 = $self->md5_get($f_full);
}
if ( ! $md5 ) {
warn "ERROR: no md5 for $f_path";
return $ok;
}
- $self->md5sum($t)->put( $t_path => $md5 );
- $self->md5sum_close($t);
-
$self->append_meta('md5sum', $t, $md5 => $t_path ); # md5sum for received files!
return $ok;
my ( $self, $user, $from, $to ) = @_;
$user = $self->user_info($user) unless ref $user eq 'HASH';
- $self->mkbasepath( "$user->{dir}/$to", { uid => $user->{uid}, gid => $user->{gid} } );
- my $ok = rename "$user->{dir}/$from", "$user->{dir}/$to";
+ my $f_full = "$user->{dir}/$from";
+ my $t_full = "$user->{dir}/$to";
+
+ $self->mkbasepath( $t_full, { uid => $user->{uid}, gid => $user->{gid} } );
+ my $ok = rename $f_full, $t_full;
- my $md5 = $self->md5sum($user)->get( $from );
+ my $md5 = $self->md5_get($t_full);
if ( ! $md5 ) {
warn "ERROR: no md5sum for $from";
return $ok; # XXX our internal error
}
- $self->md5sum($user)->out( $from );
- $self->md5sum($user)->put( $to => $md5 );
- $self->md5sum_close($user);
-
$self->append_meta('md5sum', $user, 'rename' => $from );
$self->append_meta('md5sum', $user, $md5 => $from );
$self->append( $user, 'delete', -$deleted_size, $user->{uid}, $path );
$self->append_meta('md5sum', $user, 'delete', $path );
- $self->md5sum($user)->out( $path );
- $self->md5sum_close($user);
-
return $full_path;
}