osutil

package
v0.32.0 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2021 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package osutil implements some OS utility functions.

Package osutil implements some OS utility functions.

Index

Constants

View Source
const (
	ColDir  = "dir"
	ColName = "name"
	ColPath = "path"
	ColSize = "size"
)

Variables

This section is empty.

Functions

func AbsFilepath

func AbsFilepath(path string) (string, error)

AbsFilepath returns an absolute filepath, using the user's current / home directory if indicated in the filepath string.

func CreateFileWithLines

func CreateFileWithLines(filename string, lines []string, lineSuffix string, useBuffer bool) error

CreateFileWithLines creates a file and writes lines to it. It will optionally add a `lineSuffix` (e.g. `"\n"`) and use `bufio`.

func EmptyAll

func EmptyAll(name string) error

EmptyAll will delete all contents of a directory, leaving the provided directory. This is different from os.Remove which also removes the directory provided.

func EnvExists

func EnvExists(fields ...string) (missing []string, haveAll bool)

func EnvFiltered

func EnvFiltered(rx *regexp.Regexp) map[string]string

EnvFiltered returns a map[string]string of environment variables that match a regular expression.

func Exists

func Exists(name string) (bool, error)

Exists checks whether the named filepath exists or not for a file or directory.

func FileModAge

func FileModAge(name string) (time.Duration, error)

FileModAge returns a time.Duration representing the age of the named file from FileInfo.ModTime().

func FileModAgeFromInfo

func FileModAgeFromInfo(fi os.FileInfo) time.Duration

FileModAgeFromInfo returns the file last modification age as a time.Duration.

func FinfosToFilepaths

func FinfosToFilepaths(dir string, fis []os.FileInfo) []string

FinfosToFilepaths returns a slice of string from a directory and sli=ce of `os.FileInfo`.

func GetFileInfo

func GetFileInfo(path string) (os.FileInfo, error)

GetFileInfo returns an os.FileInfo from a filepath.

func IsDir added in v0.27.2

func IsDir(name string) (bool, error)

func IsFile added in v0.27.2

func IsFile(name string, sizeGtZero bool) (bool, error)

IsFile verifies a path exists and is a file. It will optionally check if a file is not empty. An os file not exists check can be done with os.IsNotExist(err) which acts on error from os.Stat().

func MustUserHomeDir added in v0.31.1

func MustUserHomeDir(subdirs ...string) string

func ReadDirMore added in v0.27.1

func ReadDirMore(dir string, rx *regexp.Regexp, inclDirs, inclFiles, inclEmptyFiles bool) ([]os.DirEntry, error)

func ReadDirRxSubmatch added in v0.27.3

func ReadDirRxSubmatch(dir string, rx *regexp.Regexp, subMatchIdx uint, inclDirs, inclFiles, inclEmptyFiles bool) (map[string][]os.DirEntry, error)

ReadDirRxSubmatch takes a directory, regular expression and boolean to indicate whether to include zero size files and returns the greatest of a single match in the regular expression.

func ReadDirRxSubmatchCaptureGreatest added in v0.27.4

func ReadDirRxSubmatchCaptureGreatest(dir string, rx *regexp.Regexp, subMatchIdx uint, inclDirs, inclFiles, inclEmptyFiles bool) (string, error)

ReadDirRxSubmatchCaptureGreatest takes a directory, regular expression and returns the greatest of a single submatch in the regular expression.

func ReadDirRxSubmatchCaptures added in v0.27.4

func ReadDirRxSubmatchCaptures(dir string, rx *regexp.Regexp, subMatchIdx uint, inclDirs, inclFiles, inclEmptyFiles bool) ([]string, error)

ReadDirRxSubmatchCaptures takes a directory, regular expression and returns the greatest of captures from the regular expression.

func ReadDirRxSubmatchEntriesGreatest added in v0.27.4

func ReadDirRxSubmatchEntriesGreatest(dir string, rx *regexp.Regexp, subMatchIdx uint, inclDirs, inclFiles, inclEmptyFiles bool) ([]os.DirEntry, error)

func ReadSubdirMax added in v0.27.0

func ReadSubdirMax(dir string, rx *regexp.Regexp) (os.DirEntry, error)

func ReadSubdirMin added in v0.27.0

func ReadSubdirMin(dir string, rx *regexp.Regexp) (os.DirEntry, error)

func UserGoSrcDir added in v0.0.2

func UserGoSrcDir() (string, error)

Types

type DirEntries added in v0.30.1

type DirEntries []os.DirEntry

func (DirEntries) Infos added in v0.30.1

func (entries DirEntries) Infos() ([]os.FileInfo, error)

Infos returns a `[]os.FileInfo` slice.

func (DirEntries) Len added in v0.30.1

func (entries DirEntries) Len() int

func (DirEntries) Less added in v0.30.1

func (entries DirEntries) Less(i, j int) bool

func (DirEntries) Names added in v0.30.1

func (entries DirEntries) Names(dir string, sortNames bool) []string

Names returns a slice of entry names. It can optionally add the directory path and sort the values.

func (DirEntries) Sort added in v0.30.1

func (entries DirEntries) Sort()

func (DirEntries) Swap added in v0.30.1

func (entries DirEntries) Swap(i, j int)

type DirEntriesMore added in v0.30.14

type DirEntriesMore []DirEntryMore

func ReadDirFiles added in v0.30.14

func ReadDirFiles(dir string, inclDirs, inclFiles, recursive bool) (DirEntriesMore, error)

func (DirEntriesMore) Rows added in v0.30.14

func (entries DirEntriesMore) Rows(inclDirs, inclFiles bool, cols ...string) ([][]string, error)

type DirEntryMore added in v0.30.14

type DirEntryMore struct {
	Dir      string
	DirEntry fs.DirEntry
}

func (DirEntryMore) Row added in v0.30.14

func (em DirEntryMore) Row(cols ...string) ([]string, error)

type EnvVar

type EnvVar struct {
	Key   string
	Value string
}

func Env

func Env() []EnvVar

type FileInfoMore

type FileInfoMore struct {
	FileInfo os.FileInfo
	ModAge   time.Duration
}

FileInfoMore provides a struct hold FileInfo with additional information.

func NewFileInfoMoreFromPath

func NewFileInfoMoreFromPath(path string) (FileInfoMore, error)

NewFileInfoMoreFromPath returns a FileInfoMore struct populatig both FileInfo and ModAge (last modification time).

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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