From 6939b602ddc03d0fab1b2d83da54fb2894df6f4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Sat, 2 Feb 2019 17:27:54 +0100 Subject: [PATCH] coreapi: mirror unixfs file types MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit License: MIT Signed-off-by: Ɓukasz Magiera --- core/commands/ls.go | 8 +++----- core/coreapi/interface/unixfs.go | 15 +++++++++++++-- core/coreapi/unixfs.go | 4 ++-- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/core/commands/ls.go b/core/commands/ls.go index 582ea8fa7aa..8cb520283f7 100644 --- a/core/commands/ls.go +++ b/core/commands/ls.go @@ -11,8 +11,6 @@ import ( iface "github.com/ipfs/go-ipfs/core/coreapi/interface" options "github.com/ipfs/go-ipfs/core/coreapi/interface/options" - unixfs "gx/ipfs/QmQ1JnYpnzkaurjW1yxkQxC2w3K1PorNE1nv1vaP5Le7sq/go-unixfs" - unixfspb "gx/ipfs/QmQ1JnYpnzkaurjW1yxkQxC2w3K1PorNE1nv1vaP5Le7sq/go-unixfs/pb" cmds "gx/ipfs/QmR77mMvvh8mJBBWQmBfQBu8oD38NUN4KE9SL2gDgAQNc6/go-ipfs-cmds" cmdkit "gx/ipfs/Qmde5VP1qUkyQXKCfmEUA7bP64V2HAptbJ7phuPp7jXWwg/go-ipfs-cmdkit" ) @@ -21,7 +19,7 @@ import ( type LsLink struct { Name, Hash string Size uint64 - Type unixfspb.Data_DataType + Type iface.FileType } // LsObject is an element of LsOutput @@ -232,9 +230,9 @@ func tabularOutput(req *cmds.Request, w io.Writer, out *LsOutput, lastObjectHash s := "%[1]s\t%[3]s\n" switch { - case link.Type == unixfs.TDirectory && size: + case link.Type == iface.TDirectory && size: s = "%[1]s\t-\t%[3]s/\n" - case link.Type == unixfs.TDirectory && !size: + case link.Type == iface.TDirectory && !size: s = "%[1]s\t%[3]s/\n" case size: s = "%s\t%v\t%s\n" diff --git a/core/coreapi/interface/unixfs.go b/core/coreapi/interface/unixfs.go index a77011988d5..1fb07638f88 100644 --- a/core/coreapi/interface/unixfs.go +++ b/core/coreapi/interface/unixfs.go @@ -4,7 +4,7 @@ import ( "context" "github.com/ipfs/go-ipfs/core/coreapi/interface/options" - "gx/ipfs/QmQ1JnYpnzkaurjW1yxkQxC2w3K1PorNE1nv1vaP5Le7sq/go-unixfs/pb" + "gx/ipfs/QmQ1JnYpnzkaurjW1yxkQxC2w3K1PorNE1nv1vaP5Le7sq/go-unixfs" ipld "gx/ipfs/QmRL22E4paat7ky7vx9MLpR97JHHbFPrg3ytFQw6qp1y1s/go-ipld-format" "gx/ipfs/QmaXvvAVAQ5ABqM5xtjYmV85xmN5MkWAZsX9H9Fwo4FVXp/go-ipfs-files" ) @@ -16,10 +16,21 @@ type AddEvent struct { Size string `json:",omitempty"` } +type FileType int32 + +const ( + TRaw = FileType(unixfs.TRaw) + TFile = FileType(unixfs.TFile) + TDirectory = FileType(unixfs.TDirectory) + TMetadata = FileType(unixfs.TMetadata) + TSymlink = FileType(unixfs.TSymlink) + THAMTShard = FileType(unixfs.THAMTShard) +) + type LsLink struct { Link *ipld.Link Size uint64 - Type unixfs_pb.Data_DataType + Type FileType Err error } diff --git a/core/coreapi/unixfs.go b/core/coreapi/unixfs.go index 6cd6c4f30d2..0793ce37166 100644 --- a/core/coreapi/unixfs.go +++ b/core/coreapi/unixfs.go @@ -182,7 +182,7 @@ func (api *UnixfsAPI) processLink(ctx context.Context, linkres ft.LinkResult, se switch lnk.Link.Cid.Type() { case cid.Raw: // No need to check with raw leaves - lnk.Type = ft.TFile + lnk.Type = coreiface.TFile lnk.Size = lnk.Link.Size case cid.DagProtobuf: if !settings.ResolveChildren { @@ -201,7 +201,7 @@ func (api *UnixfsAPI) processLink(ctx context.Context, linkres ft.LinkResult, se lnk.Err = err break } - lnk.Type = d.Type() + lnk.Type = coreiface.FileType(d.Type()) lnk.Size = d.FileSize() } }