fileutils

package
v0.24.0 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2021 License: Apache-2.0 Imports: 20 Imported by: 129

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SkipDir = errors.New("skip this directory")

Functions

func AppendFile

func AppendFile(srcPath string, destFile *os.File) error

Reads the content of the file in the source path and appends it to the file in the destination path.

func CleanOldDirs added in v0.13.0

func CleanOldDirs() error

Old runs/tests may leave junk at temp dir. Each temp file/Dir is named with prefix+timestamp, search for all temp files/dirs that match the common prefix and validate their timestamp.

func CopyDir

func CopyDir(fromPath, toPath string, includeDirs bool, excludeNames []string) error

Copy directory content from one path to another. includeDirs means to copy also the dirs if presented in the src folder. excludeNames - Skip files/dirs in the src folder that match names in provided slice. ONLY excludes first layer (only in src folder).

func CopyFile

func CopyFile(dst, src string) error

func CreateDirIfNotExist

func CreateDirIfNotExist(path string) error

func CreateFilePath

func CreateFilePath(localPath, fileName string) (string, error)

func CreateTempDir added in v0.3.3

func CreateTempDir() (string, error)

Creates the temp dir at tempDirBase. Set tempDirPath to the created directory path.

func CreateTempFile added in v0.13.0

func CreateTempFile() (*os.File, error)

Create a new temp file named "tempPrefix+timeStamp".

func FilesIdentical added in v0.13.0

func FilesIdentical(file1 string, file2 string) (bool, error)

Returns true if the two files have the same MD5 checksum.

func FindUpstream added in v0.3.2

func FindUpstream(itemToFInd string, itemType ItemType) (wd string, exists bool, err error)

Returns the path to the directory in which itemToFind is located. Traversing through directories from current work-dir to root. itemType determines whether looking for a file or dir.

func FixPathForWindows added in v0.21.1

func FixPathForWindows(path string) string

func GetFileAndDirFromPath

func GetFileAndDirFromPath(path string) (fileName, dir string)

Return the file's name and dir of a given path by finding the index of the last separator in the path. Support separators : "/" , "\\" and "\\\\"

func GetFileInfo

func GetFileInfo(path string, preserveSymLink bool) (fileInfo os.FileInfo, err error)

Get the file info of the file in path. If path points at a symlink and `preserveSymLink == true`, return the file info of the symlink instead

func GetFileSeparator

func GetFileSeparator() string

func GetFileSize

func GetFileSize(file *os.File) (int64, error)

func GetHomeDir

func GetHomeDir() string

func GetLocalPathAndFile

func GetLocalPathAndFile(originalFileName, relativePath, targetPath string, flat bool) (localTargetPath, fileName string)

Get the local path and filename from original file name and path according to targetPath

func GetUploadRequestContent

func GetUploadRequestContent(file *os.File) io.Reader

func IsDirEmpty added in v0.21.0

func IsDirEmpty(path string) (bool, error)

func IsDirExists

func IsDirExists(path string, preserveSymLink bool) (bool, error)

Check if path points at a directory. If path points at a symlink and `preserveSymLink == true`, function will return `false` regardless of the symlink target

func IsEqualToLocalFile added in v0.14.1

func IsEqualToLocalFile(localFilePath, md5, sha1 string) (bool, error)

Compares provided Md5 and Sha1 to those of a local file.

func IsFileExists

func IsFileExists(path string, preserveSymLink bool) (bool, error)

Check if path points at a file. If path points at a symlink and `preserveSymLink == true`, function will return `true` regardless of the symlink target

func IsFileSymlink(file os.FileInfo) bool

func IsPathExists

func IsPathExists(path string, preserveSymLink bool) bool

Check if path exists. If path points at a symlink and `preserveSymLink == true`, function will return `true` regardless of the symlink target

func IsPathSymlink(path string) bool

func IsSshUrl

func IsSshUrl(urlPath string) bool

func IsStringInSlice added in v0.12.0

func IsStringInSlice(string string, strings []string) bool

func IsSupportedArchive added in v0.17.0

func IsSupportedArchive(filePath string) bool

func IsZip

func IsZip(filename string) bool

func ListFiles

func ListFiles(path string, includeDirs bool) ([]string, error)

Return the list of files and directories in the specified path

func ListFilesByFilterFunc added in v0.15.0

func ListFilesByFilterFunc(path string, filterFunc func(filePath string) (bool, error)) ([]string, error)

Return all files in the specified path who satisfy the filter func. Not recursive.

func ListFilesRecursiveWalkIntoDirSymlink(path string, walkIntoDirSymlink bool) (fileList []string, err error)

Return the recursive list of files and directories in the specified path

func MoveDir added in v0.17.0

func MoveDir(fromPath, toPath string) error

Move directory content from one path to another.

func MoveFile added in v0.17.3

func MoveFile(sourcePath, destPath string) (err error)

GoLang: os.Rename() give error "invalid cross-device link" for Docker container with Volumes. MoveFile(source, destination) will work moving file between folders Therefore, we are using our own implementation (MoveFile) in order to rename files.

func ReadFile

func ReadFile(filePath string) ([]byte, error)

func RemovePath added in v0.6.2

func RemovePath(testPath string) error

Removing the provided path from the filesystem

func RemoveTempDir

func RemoveTempDir(dirPath string) error

func RenamePath added in v0.6.2

func RenamePath(oldPath, newPath string) error

Renaming from old path to new path.

func SetTempDirBase added in v0.3.3

func SetTempDirBase(dirPath string)

Change the containing directory of temp dir.

func Unarchive added in v0.17.0

func Unarchive(localArchivePath, originArchiveName, destinationPath string) error

The 'archiver' dependency includes an API called 'Unarchive' to extract archive files. This API uses the archive file extension to determine the archive type.// the local file path to extract the archive. We therefore need to use the file name as it was in Artifactory, and not the file name which was downloaded. To achieve this, we added a new implementation of the 'Unarchive' func and use it instead of the default one.

func Unzip

func Unzip(at io.ReaderAt, size int64, dest string) error

func Walk

func Walk(root string, walkFn WalkFunc, walkIntoDirSymlink bool) error

The same as filepath.Walk the only difference is that we can walk into symlink. Avoiding infinite loops by saving the real paths we already visited.

func ZipFolderFiles

func ZipFolderFiles(source, target string) (err error)

Types

type ChecksumDetails

type ChecksumDetails struct {
	Md5    string
	Sha1   string
	Sha256 string
}

type FileDetails

type FileDetails struct {
	Checksum ChecksumDetails
	Size     int64
}

func GetFileDetails

func GetFileDetails(filePath string) (*FileDetails, error)

func GetFileDetailsFromReader added in v0.20.1

func GetFileDetailsFromReader(reader io.Reader) (*FileDetails, error)

type ItemType added in v0.3.2

type ItemType string
const (
	SYMLINK_FILE_CONTENT          = ""
	File                 ItemType = "file"
	Dir                  ItemType = "dir"
	Any                  ItemType = "any"
)

type Stat

type Stat func(path string) (info os.FileInfo, err error)

type WalkFunc

type WalkFunc func(path string, info os.FileInfo, err error) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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