osplus

package module
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2019 License: Apache-2.0 Imports: 11 Imported by: 10

README

osplus

additional utilities for "os", "io" and "io/ioutil" packages.

license

Apache License 2.0

Documentation

Index

Constants

View Source
const (
	XdgConfigHomeKey string = "XDG_CONFIG_HOME"
	XdgCacheHomeKey         = "XDG_CACHE_HOME"
	XdgDataHomeKey          = "XDG_DATA_HOME"
	XdgRuntimeDirKey        = "XDG_RUNTIME_DIR"
	XdgDataDirsKey          = "XDG_DATA_DIRS"
	XdgConfigDirsKey        = "XDG_CONFIG_DIRS"
)

Variables

View Source
var (
	Version  = "0.1.2"
	Revision = ""
)

Functions

func Copy

func Copy(oldpath string, newpath string) error

func CopyFile

func CopyFile(oldpath string, newpath string, opts *CopyOptions) error

func GetGoPath added in v0.1.1

func GetGoPath() (string, error)

func GetGoPathMulti added in v0.1.1

func GetGoPathMulti() []string

func GetPath added in v0.1.1

func GetPath() []string

func GetXdgCacheHome added in v0.1.1

func GetXdgCacheHome() (string, error)

func GetXdgConfigDirs added in v0.1.1

func GetXdgConfigDirs() []string

func GetXdgConfigHome added in v0.1.1

func GetXdgConfigHome() (string, error)

func GetXdgDataDirs added in v0.1.1

func GetXdgDataDirs() []string

func GetXdgDataHome added in v0.1.1

func GetXdgDataHome() (string, error)

func GetXdgRuntimeDir added in v0.1.1

func GetXdgRuntimeDir() (string, error)

func LookPath added in v0.1.1

func LookPath(dirs []string, names ...string) (string, error)

func LookPathAll added in v0.1.1

func LookPathAll(dirs []string, names ...string) []string

func LookPathWithPredicate added in v0.1.1

func LookPathWithPredicate(dirs []string, names []string, pred func(fpath string, fi os.FileInfo) (ok bool)) (string, error)

func Move

func Move(oldpath string, newpath string) error

func MoveFile

func MoveFile(oldpath string, newpath string, opts *MoveOptions) error
func RenameUsingLink(oldpath string, newpath string) error

func Touch

func Touch(path string) error

Types

type ComposedReadCloser

type ComposedReadCloser struct {
	Reader    io.Reader
	CloseFunc func(r io.Reader) error
}

ComposedReadCloser implements io.ReadCloser. It has an underlying Reader and a function that is called when Close method is called.

func NewReadCloser

func NewReadCloser(r io.Reader, closeFunc func(r io.Reader) error) *ComposedReadCloser

NewReadCloser composes a ReadCloser with an underlying Reader and a function that is called when Close method is called.

func NopReadCloser

func NopReadCloser(r io.Reader) *ComposedReadCloser

NopReadCloser composes a ReadCloser with an underlying Reader. It does nothing when Close method is called.

func (*ComposedReadCloser) Close

func (crc *ComposedReadCloser) Close() error

func (*ComposedReadCloser) Read

func (crc *ComposedReadCloser) Read(p []byte) (int, error)

type ComposedWriteCloser

type ComposedWriteCloser struct {
	Writer    io.Writer
	CloseFunc func(w io.Writer) error
}

ComposedWriteCloser implements io.WriteCloser. It has an underlying Writer and a function that is called when Close method is called.

func NewWriteCloser

func NewWriteCloser(w io.Writer, closeFunc func(w io.Writer) error) *ComposedWriteCloser

NewWriteCloser composes a WriteCloser with an underlying Writer and a function that is called when Close method is called.

func NopWriteCloser

func NopWriteCloser(w io.Writer) *ComposedWriteCloser

NopWriteCloser composes a WriteCloser with an underlying Writer. It does nothing when Close method is called.

func (*ComposedWriteCloser) Close

func (cwc *ComposedWriteCloser) Close() error

func (*ComposedWriteCloser) Write

func (cwc *ComposedWriteCloser) Write(p []byte) (int, error)

type ConditionalCloser

type ConditionalCloser struct {
	Closer  io.Closer
	Enabled bool
	Closed  bool
	Called  bool
}

ConditionalCloser implements io.Closer. When Close method is called, it close the underlying closer only if Enabled is true.

func NewConditionalCloser

func NewConditionalCloser(c io.Closer, enabled bool) *ConditionalCloser

NewConditionalCloser creates new ConditionalCloser.

func (*ConditionalCloser) Close

func (cc *ConditionalCloser) Close() error

type ConditionalReadCloser

type ConditionalReadCloser struct {
	ConditionalCloser
	ReadCloser io.ReadCloser
}

func NewConditionalReadCloser

func NewConditionalReadCloser(c io.ReadCloser, enabled bool) *ConditionalReadCloser

NewConditionalReadCloser creates new ConditionalReadCloser.

func (*ConditionalReadCloser) Close

func (cc *ConditionalReadCloser) Close() error

func (*ConditionalReadCloser) Read

func (cc *ConditionalReadCloser) Read(p []byte) (int, error)

func (*ConditionalReadCloser) SetReadCloser

func (cc *ConditionalReadCloser) SetReadCloser(rc io.ReadCloser)

type ConditionalWriteCloser

type ConditionalWriteCloser struct {
	ConditionalCloser
	WriteCloser io.WriteCloser
}

func NewConditionalWriteCloser

func NewConditionalWriteCloser(c io.WriteCloser, enabled bool) *ConditionalWriteCloser

NewConditionalWriteCloser creates new ConditionalWriteCloser.

func (*ConditionalWriteCloser) Close

func (cc *ConditionalWriteCloser) Close() error

func (*ConditionalWriteCloser) SetWriteCloser

func (cc *ConditionalWriteCloser) SetWriteCloser(wc io.WriteCloser)

func (*ConditionalWriteCloser) Write

func (cc *ConditionalWriteCloser) Write(p []byte) (int, error)

type CopyOptions

type CopyOptions struct {
	NoOverwrite bool
}

type ExtendedReadCloser

type ExtendedReadCloser struct {
	ReadCloser io.ReadCloser
	CloseFunc  func(rc io.ReadCloser) error
}

ExtendedReadCloser implements io.ReadCloser. It has an underlying Reader and a function that is called when Close method is called.

func ExtendReadCloser

func ExtendReadCloser(rc io.ReadCloser, closeFunc func(rc io.ReadCloser) error) *ExtendedReadCloser

ExtendReadCloser composes a ReadCloser with an underlying Reader and a function that is called when Close method is called.

func (*ExtendedReadCloser) Close

func (erc *ExtendedReadCloser) Close() error

func (*ExtendedReadCloser) Read

func (erc *ExtendedReadCloser) Read(p []byte) (int, error)

type ExtendedWriteCloser

type ExtendedWriteCloser struct {
	WriteCloser io.WriteCloser
	CloseFunc   func(w io.WriteCloser) error
}

ExtendedWriteCloser implements io.WriteCloser. It has an underlying Writer and a function that is called when Close method is called.

func ExtendWriteCloser

func ExtendWriteCloser(wc io.WriteCloser, closeFunc func(wc io.WriteCloser) error) *ExtendedWriteCloser

ExtendWriteCloser composes a WriteCloser with an underlying Writer and a function that is called when Close method is called.

func (*ExtendedWriteCloser) Close

func (ewc *ExtendedWriteCloser) Close() error

func (*ExtendedWriteCloser) Write

func (ewc *ExtendedWriteCloser) Write(p []byte) (int, error)

type LockFile

type LockFile struct {
	Path              string
	FileMode          os.FileMode
	AcquiringInterval time.Duration
	// contains filtered or unexported fields
}

func NewLockFile

func NewLockFile(path string) *LockFile

func NewLockFileWithAutoGeneratedId

func NewLockFileWithAutoGeneratedId(path string, idType LockFileIDType) (*LockFile, error)

func NewLockFileWithId

func NewLockFileWithId(path string, id string) *LockFile

func (*LockFile) Error

func (lockFile *LockFile) Error() error

func (*LockFile) ID

func (lockFile *LockFile) ID() string

func (*LockFile) Lock

func (lockFile *LockFile) Lock()

func (*LockFile) TryToLock

func (lockFile *LockFile) TryToLock() error

func (*LockFile) TryToUnlock

func (lockFile *LockFile) TryToUnlock() error

func (*LockFile) Unlock

func (lockFile *LockFile) Unlock()

type LockFileIDType

type LockFileIDType string
const (
	LockFileIDTypeNone LockFileIDType = ""
	LockFileIDTypePID                 = "PID"
)

type MoveOptions

type MoveOptions struct {
	NoOverwrite bool
	NoRename    bool
}

type Opener

type Opener struct {
	FallbackReader        io.Reader
	FallbackWriter        io.Writer
	TreatHyphenAsFileName bool
	Unbuffered            bool
	MoveOptions           *MoveOptions
}

func NewOpener

func NewOpener() *Opener

func (*Opener) Create

func (opener *Opener) Create(name string) (io.WriteCloser, error)

func (*Opener) CreateFile

func (opener *Opener) CreateFile(name string, flag int, perm os.FileMode) (io.WriteCloser, error)

func (*Opener) CreateTempFile

func (opener *Opener) CreateTempFile(tempFileDir, tempFilePattern string) (wc io.WriteCloser, commit func(name string), err error)

func (*Opener) CreateTempFileWithDestination

func (opener *Opener) CreateTempFileWithDestination(name, tempFileDir, tempFilePattern string) (wc io.WriteCloser, commit func(ok bool), err error)

func (*Opener) Open

func (opener *Opener) Open(name string) (io.ReadCloser, error)

func (*Opener) OpenFile

func (opener *Opener) OpenFile(name string, flag int, perm os.FileMode) (io.ReadCloser, error)

type TempFile

type TempFile struct {
	Destination string
	Dir         string
	Pattern     string
	MoveOptions *MoveOptions
	File        *os.File
}

func CreateTempFile

func CreateTempFile(tempDir, tempPattern string) (*TempFile, error)

func CreateTempFileWithDestination

func CreateTempFileWithDestination(dst, tempDir, tempPattern string) (*TempFile, error)

func (*TempFile) Close

func (tmp *TempFile) Close() error

func (*TempFile) CloseFile

func (tmp *TempFile) CloseFile() error

func (*TempFile) Name

func (tmp *TempFile) Name() string

func (*TempFile) Write

func (tmp *TempFile) Write(p []byte) (int, error)

Jump to

Keyboard shortcuts

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