utils

package
v0.9.29 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2021 License: Apache-2.0 Imports: 6 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultFileCopy

func DefaultFileCopy(src, dest string, info os.FileInfo, opt Options, results *Results) (err error)

DefaultFileCopy file copy that can be called from external

Types

type FileHandlerFunc

type FileHandlerFunc func(src, dest string, info os.FileInfo, opt Options, results *Results) (err error)

FileHandlerFunc type to define a function for carrying out a file processing for copying or processing as a template

type Options

type Options struct {
	// OnSymlink can specify what to do on symlink
	OnSymlink func(src string) SymlinkAction
	// Skip can specify which files should be skipped
	Skip func(src string) (bool, error)
	// AddPermission to every entities,
	// NO MORE THAN 0777
	AddPermission os.FileMode
	// Sync file after copy.
	// Useful in case when file must be on the disk
	// (in case crash happens, for example),
	// at the expense of some performance penalty
	Sync bool

	// FileHandler - returns a handler for file - if nill will use the default copy handler
	FileHandler func(src, dest string, info os.FileInfo) FileHandlerFunc

	// ShouldCopy - return bool if dir or file should be copied
	ShouldCopy func(opt os.FileInfo) bool
}

Options specifies optional actions on copying.

func DefaultCopyOptions

func DefaultCopyOptions() Options

DefaultCopyOptions provides default options, which would be modified by usage-side.

type Results

type Results struct {
	FilesCopied     int
	DirsCopied      int
	SymLinksCreated int

	Info bytes.Buffer
}

Results specifies results of the copy.

func Copy

func Copy(src, dest string, opt ...Options) (*Results, error)

Copy copies src to dest, doesn't matter if src is a directory or a file.

func (*Results) String

func (c *Results) String() string

type SymlinkAction

type SymlinkAction int

SymlinkAction represents what to do on symlink.

const (
	// Deep creates hard-copy of contents.
	Deep SymlinkAction = iota
	// Shallow creates new symlink to the dest of symlink.
	Shallow
	// Skip does nothing with symlink.
	Skip
)

Jump to

Keyboard shortcuts

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