Merge pull request #71 from ipfs/pin-ls-recursive

Use "pin ls --type=recursive $pin" when checking if a pin exists
This commit is contained in:
Hector Sanjuan 2017-03-21 14:05:58 +01:00 committed by GitHub
commit 98043ca675
3 changed files with 7 additions and 4 deletions

View File

@ -431,10 +431,10 @@ func (ipfs *Connector) PinLs(typeFilter string) (map[string]api.IPFSPinStatus, e
return statusMap, nil return statusMap, nil
} }
// PinLsCid performs a "pin ls <hash> "request and returns IPFSPinStatus for // PinLsCid performs a "pin ls --type=recursive <hash> "request and returns
// that hash. // an api.IPFSPinStatus for that hash.
func (ipfs *Connector) PinLsCid(hash *cid.Cid) (api.IPFSPinStatus, error) { func (ipfs *Connector) PinLsCid(hash *cid.Cid) (api.IPFSPinStatus, error) {
lsPath := fmt.Sprintf("pin/ls?arg=%s", hash) lsPath := fmt.Sprintf("pin/ls?arg=%s&type=recursive", hash)
body, err := ipfs.get(lsPath) body, err := ipfs.get(lsPath)
// Network error, daemon down // Network error, daemon down

View File

@ -224,6 +224,7 @@ func (mpt *MapPinTracker) pin(c api.Pin) error {
func (mpt *MapPinTracker) unpin(c api.Pin) error { func (mpt *MapPinTracker) unpin(c api.Pin) error {
logger.Debugf("issuing unpin call for %s", c.Cid) logger.Debugf("issuing unpin call for %s", c.Cid)
mpt.set(c.Cid, api.TrackerStatusUnpinning)
err := mpt.rpcClient.Call("", err := mpt.rpcClient.Call("",
"Cluster", "Cluster",
"IPFSUnpin", "IPFSUnpin",

View File

@ -108,6 +108,8 @@ func TestUntrack(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
time.Sleep(time.Second / 2)
err = mpt.Untrack(h2) err = mpt.Untrack(h2)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
@ -121,7 +123,7 @@ func TestUntrack(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
time.Sleep(400 * time.Millisecond) time.Sleep(time.Second / 2)
st := mpt.Status(h1) st := mpt.Status(h1)
if st.Status != api.TrackerStatusUnpinned { if st.Status != api.TrackerStatusUnpinned {