filesystem

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2022 License: GPL-3.0 Imports: 17 Imported by: 5

Documentation

Index

Constants

View Source
const (
	// BackendLocal is used for local libraries
	BackendLocal = iota
	// BackendRclone is used for Rclone remotes
	BackendRclone
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BackendType

type BackendType int

BackendType specifies what kind of Library backend is being used.

type FileLocator

type FileLocator struct {
	Backend BackendType
	Path    string
}

func ParseFileLocator

func ParseFileLocator(locatorStr string) (FileLocator, error)

func (FileLocator) String

func (fl FileLocator) String() string

type LocalNode

type LocalNode struct {
	// contains filtered or unexported fields
}

func LocalNodeFromPath

func LocalNodeFromPath(path string) (*LocalNode, error)

func (*LocalNode) BackendType

func (n *LocalNode) BackendType() BackendType

func (*LocalNode) FileLocator

func (n *LocalNode) FileLocator() FileLocator

func (*LocalNode) IsDir

func (n *LocalNode) IsDir() bool

func (*LocalNode) ListDir added in v0.4.0

func (n *LocalNode) ListDir() ([]string, error)

ListDir lists all the dirs inside the given node

func (*LocalNode) Name

func (n *LocalNode) Name() string

func (*LocalNode) Path

func (n *LocalNode) Path() string

func (*LocalNode) Size

func (n *LocalNode) Size() int64

func (*LocalNode) Walk

func (n *LocalNode) Walk(walkFn WalkFunc, followFileSymlinks bool) error

type Node

type Node interface {
	BackendType() BackendType
	Size() int64
	Name() string
	Path() string
	ListDir() ([]string, error)
	IsDir() bool
	Walk(walkFunc WalkFunc, followFileSymlinks bool) error
	FileLocator() FileLocator
}

func GetNodeFromFileLocator

func GetNodeFromFileLocator(l FileLocator) (Node, error)

type RcloneNode

type RcloneNode struct {
	// TODO(Leon Handreke): Do we need more abstraction to not make this public?
	// For now, having special handling in the one place where we open the file makes sense.
	Node vfs.Node
}

func RcloneNodeFromPath

func RcloneNodeFromPath(pathStr string) (*RcloneNode, error)

func (*RcloneNode) BackendType

func (n *RcloneNode) BackendType() BackendType

func (*RcloneNode) FileLocator

func (n *RcloneNode) FileLocator() FileLocator

func (*RcloneNode) IsDir

func (n *RcloneNode) IsDir() bool

func (*RcloneNode) ListDir added in v0.4.0

func (n *RcloneNode) ListDir() ([]string, error)

func (*RcloneNode) Name

func (n *RcloneNode) Name() string

func (*RcloneNode) Path

func (n *RcloneNode) Path() string

func (*RcloneNode) Size

func (n *RcloneNode) Size() int64

func (*RcloneNode) Walk

func (n *RcloneNode) Walk(walkFn WalkFunc, followFileSymlinks bool) error

type WalkFunc

type WalkFunc func(path string, node Node, err error) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL