--- trunk/Estraier.pm 2006/05/15 22:26:08 150 +++ trunk/Estraier.pm 2006/05/16 11:39:53 151 @@ -1053,7 +1053,7 @@ $node->put_doc( $document_draft ) or die "can't add document"; -Return true on success or false on failture. +Return true on success or false on failure. =cut @@ -1061,11 +1061,15 @@ my $self = shift; my $doc = shift || return; return unless ($self->{url} && $doc->isa('Search::Estraier::Document')); - $self->shuttle_url( $self->{url} . '/put_doc', + if ($self->shuttle_url( $self->{url} . '/put_doc', 'text/x-estraier-draft', $doc->dump_draft, undef - ) == 200; + ) == 200) { + $self->_clear_info; + return 1; + } + return undef; } @@ -1089,8 +1093,8 @@ "id=$id", undef ) == 200) { - $self->_set_info; - return $id; + $self->_clear_info; + return 1; } return undef; } @@ -1115,8 +1119,8 @@ "uri=" . uri_escape($uri), undef ) == 200) { - $self->_set_info; - return $uri; + $self->_clear_info; + return 1; } return undef; } @@ -1136,11 +1140,15 @@ my $self = shift; my $doc = shift || return; return unless ($self->{url} && $doc->isa('Search::Estraier::Document')); - $self->shuttle_url( $self->{url} . '/edit_doc', + if ($self->shuttle_url( $self->{url} . '/edit_doc', 'text/x-estraier-draft', $doc->dump_draft, undef - ) == 200; + ) == 200) { + $self->_clear_info; + return 1; + } + return undef; } @@ -1687,7 +1695,7 @@ undef ) == 200) { # refresh node info after adding link - $self->_set_info; + $self->_clear_info; return 1; } return undef; @@ -1839,7 +1847,7 @@ if ($status == $rest->{status}) { # refresh node info after sync - $self->_set_info if ($action eq 'sync'); + $self->_clear_info if ($action eq 'sync' || $action =~ m/^node(?:add|del|clr)$/); if ($rest->{returns} && wantarray) { @@ -1898,7 +1906,7 @@ my @lines = split(/[\r\n]/,$resbody); - $self->{inform} = {}; + $self->_clear_info; ( $self->{inform}->{name}, $self->{inform}->{label}, $self->{inform}->{dnum}, $self->{inform}->{wnum}, $self->{inform}->{size} ) = split(/\t/, shift @lines, 5); @@ -1923,6 +1931,25 @@ } +=head2 _clear_info + +Clear information for node + + $node->_clear_info; + +On next call to C, C