mirror of
https://github.com/rclone/rclone.git
synced 2026-01-08 11:33:33 +00:00
filter: deglobalise to put filter config into the context #4685
This commit is contained in:
@@ -109,15 +109,16 @@ func NewFsFile(remote string) (fs.Fs, string) {
|
||||
// This works the same as NewFsFile however it adds filters to the Fs
|
||||
// to limit it to a single file if the remote pointed to a file.
|
||||
func newFsFileAddFilter(remote string) (fs.Fs, string) {
|
||||
fi := filter.GetConfig(context.Background())
|
||||
f, fileName := NewFsFile(remote)
|
||||
if fileName != "" {
|
||||
if !filter.Active.InActive() {
|
||||
if !fi.InActive() {
|
||||
err := errors.Errorf("Can't limit to single files when using filters: %v", remote)
|
||||
err = fs.CountError(err)
|
||||
log.Fatalf(err.Error())
|
||||
}
|
||||
// Limit transfers to this file
|
||||
err := filter.Active.AddFile(fileName)
|
||||
err := fi.AddFile(fileName)
|
||||
if err != nil {
|
||||
err = fs.CountError(err)
|
||||
log.Fatalf("Failed to limit to single file %q: %v", remote, err)
|
||||
|
||||
@@ -59,6 +59,7 @@ var (
|
||||
)
|
||||
|
||||
func TestInit(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
// Configure the remote
|
||||
config.LoadConfig(context.Background())
|
||||
// fs.Config.LogLevel = fs.LogLevelDebug
|
||||
@@ -66,8 +67,9 @@ func TestInit(t *testing.T) {
|
||||
// fs.Config.DumpBodies = true
|
||||
|
||||
// exclude files called hidden.txt and directories called hidden
|
||||
require.NoError(t, filter.Active.AddRule("- hidden.txt"))
|
||||
require.NoError(t, filter.Active.AddRule("- hidden/**"))
|
||||
fi := filter.GetConfig(ctx)
|
||||
require.NoError(t, fi.AddRule("- hidden.txt"))
|
||||
require.NoError(t, fi.AddRule("- hidden/**"))
|
||||
|
||||
// Create a test Fs
|
||||
f, err := fs.NewFs(context.Background(), "testdata/files")
|
||||
|
||||
@@ -87,9 +87,11 @@ var (
|
||||
)
|
||||
|
||||
func TestHTTPFunction(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
// exclude files called hidden.txt and directories called hidden
|
||||
require.NoError(t, filter.Active.AddRule("- hidden.txt"))
|
||||
require.NoError(t, filter.Active.AddRule("- hidden/**"))
|
||||
fi := filter.GetConfig(ctx)
|
||||
require.NoError(t, fi.AddRule("- hidden.txt"))
|
||||
require.NoError(t, fi.AddRule("- hidden/**"))
|
||||
|
||||
// Uses the same test files as http tests but with different golden.
|
||||
f, err := fs.NewFs(context.Background(), "../http/testdata/files")
|
||||
|
||||
Reference in New Issue
Block a user