filter

package
v1.48.0 Latest Latest
Warning

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

Go to latest
Published: Jun 15, 2019 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package filter controls the filtering of files

Index

Constants

This section is empty.

Variables

View Source
var Active = mustNewFilter(nil)

Active is the globally active filter

View Source
var DefaultOpt = Opt{
	MinAge:  fs.DurationOff,
	MaxAge:  fs.DurationOff,
	MinSize: fs.SizeSuffix(-1),
	MaxSize: fs.SizeSuffix(-1),
}

DefaultOpt is the default config for the filter

Functions

This section is empty.

Types

type FilesMap

type FilesMap map[string]struct{}

FilesMap describes the map of files to transfer

type Filter

type Filter struct {
	Opt         Opt
	ModTimeFrom time.Time
	ModTimeTo   time.Time
	// contains filtered or unexported fields
}

Filter describes any filtering in operation

func NewFilter

func NewFilter(opt *Opt) (f *Filter, err error)

NewFilter parses the command line options and creates a Filter object. If opt is nil, then DefaultOpt will be used

func (*Filter) Add

func (f *Filter) Add(Include bool, glob string) error

Add adds a filter rule with include or exclude status indicated

func (*Filter) AddFile

func (f *Filter) AddFile(file string) error

AddFile adds a single file to the files from list

func (*Filter) AddRule

func (f *Filter) AddRule(rule string) error

AddRule adds a filter rule with include/exclude indicated by the prefix

These are

  • glob
  • glob !

'+' includes the glob, '-' excludes it and '!' resets the filter list

Line comments may be introduced with '#' or ';'

func (*Filter) BoundedRecursion added in v1.47.0

func (f *Filter) BoundedRecursion() bool

BoundedRecursion returns true if the filter can be evaluated with bounded recursion only.

func (*Filter) Clear

func (f *Filter) Clear()

Clear clears all the filter rules

func (*Filter) DirContainsExcludeFile

func (f *Filter) DirContainsExcludeFile(fremote fs.Fs, remote string) (bool, error)

DirContainsExcludeFile checks if exclude file is present in a directroy. If fs is nil, it works properly if ExcludeFile is an empty string (for testing).

func (*Filter) DumpFilters

func (f *Filter) DumpFilters() string

DumpFilters dumps the filters in textual form, 1 per line

func (*Filter) Files

func (f *Filter) Files() FilesMap

Files returns all the files from the `--files-from` list

It may be nil if the list is empty

func (*Filter) HaveFilesFrom added in v1.46.0

func (f *Filter) HaveFilesFrom() bool

HaveFilesFrom returns true if --files-from has been supplied

func (*Filter) InActive

func (f *Filter) InActive() bool

InActive returns false if any filters are active

func (*Filter) Include

func (f *Filter) Include(remote string, size int64, modTime time.Time) bool

Include returns whether this object should be included into the sync or not

func (*Filter) IncludeDirectory

func (f *Filter) IncludeDirectory(fs fs.Fs) func(string) (bool, error)

IncludeDirectory returns a function which checks whether this directory should be included in the sync or not.

func (*Filter) IncludeObject

func (f *Filter) IncludeObject(o fs.Object) bool

IncludeObject returns whether this object should be included into the sync or not. This is a convenience function to avoid calling o.ModTime(), which is an expensive operation.

func (*Filter) ListContainsExcludeFile

func (f *Filter) ListContainsExcludeFile(entries fs.DirEntries) bool

ListContainsExcludeFile checks if exclude file is present in the list.

func (*Filter) MakeListR added in v1.46.0

func (f *Filter) MakeListR(NewObject func(remote string) (fs.Object, error)) fs.ListRFn

MakeListR makes function to return all the files set using --files-from

type Opt

type Opt struct {
	DeleteExcluded bool
	FilterRule     []string
	FilterFrom     []string
	ExcludeRule    []string
	ExcludeFrom    []string
	ExcludeFile    string
	IncludeRule    []string
	IncludeFrom    []string
	FilesFrom      []string
	MinAge         fs.Duration
	MaxAge         fs.Duration
	MinSize        fs.SizeSuffix
	MaxSize        fs.SizeSuffix
	IgnoreCase     bool
}

Opt configures the filter

Directories

Path Synopsis
Package filterflags implements command line flags to set up a filter
Package filterflags implements command line flags to set up a filter

Jump to

Keyboard shortcuts

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