Documentation ¶
Overview ¶
Package filter controls the filtering of files
Index ¶
- Variables
- type FilesMap
- type Filter
- func (f *Filter) Add(Include bool, glob string) error
- func (f *Filter) AddFile(file string) error
- func (f *Filter) AddRule(rule string) error
- func (f *Filter) Clear()
- func (f *Filter) DirContainsExcludeFile(ctx context.Context, fremote fs.Fs, remote string) (bool, error)
- func (f *Filter) DumpFilters() string
- func (f *Filter) Files() FilesMap
- func (f *Filter) HaveFilesFrom() bool
- func (f *Filter) InActive() bool
- func (f *Filter) Include(remote string, size int64, modTime time.Time) bool
- func (f *Filter) IncludeDirectory(ctx context.Context, fs fs.Fs) func(string) (bool, error)
- func (f *Filter) IncludeObject(ctx context.Context, o fs.Object) bool
- func (f *Filter) ListContainsExcludeFile(entries fs.DirEntries) bool
- func (f *Filter) MakeListR(ctx context.Context, ...) fs.ListRFn
- func (f *Filter) UsesDirectoryFilters() bool
- type Opt
Constants ¶
This section is empty.
Variables ¶
var Active = mustNewFilter(nil)
Active is the globally active filter
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 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 ¶
NewFilter parses the command line options and creates a Filter object. If opt is nil, then DefaultOpt will be used
func (*Filter) AddRule ¶
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) DirContainsExcludeFile ¶
func (f *Filter) DirContainsExcludeFile(ctx context.Context, fremote fs.Fs, remote string) (bool, error)
DirContainsExcludeFile checks if exclude file is present in a directory. If fs is nil, it works properly if ExcludeFile is an empty string (for testing).
func (*Filter) DumpFilters ¶
DumpFilters dumps the filters in textual form, 1 per line
func (*Filter) Files ¶
Files returns all the files from the `--files-from` list
It may be nil if the list is empty
func (*Filter) HaveFilesFrom ¶
HaveFilesFrom returns true if --files-from has been supplied
func (*Filter) Include ¶
Include returns whether this object should be included into the sync or not
func (*Filter) IncludeDirectory ¶
IncludeDirectory returns a function which checks whether this directory should be included in the sync or not.
func (*Filter) IncludeObject ¶
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 ¶
func (f *Filter) MakeListR(ctx context.Context, NewObject func(ctx context.Context, remote string) (fs.Object, error)) fs.ListRFn
MakeListR makes function to return all the files set using --files-from
func (*Filter) UsesDirectoryFilters ¶
UsesDirectoryFilters returns true if the filter uses directory filters and false if it doesn't.
This is used in deciding whether to walk directories or use ListR
type Opt ¶
type Opt struct { DeleteExcluded bool FilterRule []string FilterFrom []string ExcludeRule []string ExcludeFrom []string ExcludeFile string IncludeRule []string IncludeFrom []string FilesFrom []string FilesFromRaw []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 |