filemanager: github.com/hacdias/filemanager/files Index | Files

package files

import "github.com/hacdias/filemanager/files"

Index

Package Files

file.go listing.go sorting.go utils.go

type FileInfo Uses

type FileInfo struct {
    *Listing
    Fs        afero.Fs          `json:"-"`
    Path      string            `json:"path"`
    Name      string            `json:"name"`
    Size      int64             `json:"size"`
    Extension string            `json:"extension"`
    ModTime   time.Time         `json:"modified"`
    Mode      os.FileMode       `json:"mode"`
    IsDir     bool              `json:"isDir"`
    Type      string            `json:"type"`
    Subtitles []string          `json:"subtitles,omitempty"`
    Content   string            `json:"content,omitempty"`
    Checksums map[string]string `json:"checksums,omitempty"`
}

FileInfo describes a file.

func NewFileInfo Uses

func NewFileInfo(opts FileOptions) (*FileInfo, error)

NewFileInfo creates a File object from a path and a given user. This File object will be automatically filled depending on if it is a directory or a file. If it's a video file, it will also detect any subtitles.

func (*FileInfo) Checksum Uses

func (i *FileInfo) Checksum(algo string) error

Checksum checksums a given File for a given User, using a specific algorithm. The checksums data is saved on File object.

type FileOptions Uses

type FileOptions struct {
    Fs      afero.Fs
    Path    string
    Modify  bool
    Expand  bool
    Checker rules.Checker
}

FileOptions are the options when getting a file info.

type Listing Uses

type Listing struct {
    Items    []*FileInfo `json:"items"`
    NumDirs  int         `json:"numDirs"`
    NumFiles int         `json:"numFiles"`
    Sorting  Sorting     `json:"sorting"`
}

Listing is a collection of files.

func (Listing) ApplySort Uses

func (l Listing) ApplySort()

ApplySort applies the sort order using .Order and .Sort

type Sorting Uses

type Sorting struct {
    By  string `json:"by"`
    Asc bool   `json:"asc"`
}

Sorting contains a sorting order.

Package files imports 21 packages (graph). Updated 2019-07-01. Refresh now. Tools for package owners.