pCloud: Added support for interchangeable root folder for pCloud backend - #3957
This commit is contained in:
parent
8a3c4c6a7b
commit
4af5c9aed7
2 changed files with 41 additions and 4 deletions
|
@ -41,8 +41,7 @@ const (
|
||||||
rcloneEncryptedClientSecret = "ej1OIF39VOQQ0PXaSdK9ztkLw3tdLNscW2157TKNQdQKkICR4uU7aFg4eFM"
|
rcloneEncryptedClientSecret = "ej1OIF39VOQQ0PXaSdK9ztkLw3tdLNscW2157TKNQdQKkICR4uU7aFg4eFM"
|
||||||
minSleep = 10 * time.Millisecond
|
minSleep = 10 * time.Millisecond
|
||||||
maxSleep = 2 * time.Second
|
maxSleep = 2 * time.Second
|
||||||
decayConstant = 2 // bigger for slower decay, exponential
|
decayConstant = 2 // bigger for slower decay, exponential
|
||||||
rootID = "d0" // ID of root folder is always this
|
|
||||||
rootURL = "https://api.pcloud.com"
|
rootURL = "https://api.pcloud.com"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -89,13 +88,19 @@ func init() {
|
||||||
Default: (encoder.Display |
|
Default: (encoder.Display |
|
||||||
encoder.EncodeBackSlash |
|
encoder.EncodeBackSlash |
|
||||||
encoder.EncodeInvalidUtf8),
|
encoder.EncodeInvalidUtf8),
|
||||||
|
}, {
|
||||||
|
Name: "root_folder_id",
|
||||||
|
Help: "Fill in for rclone to use a non root folder as its starting point.",
|
||||||
|
Default: "d0",
|
||||||
|
Advanced: true,
|
||||||
}},
|
}},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Options defines the configuration for this backend
|
// Options defines the configuration for this backend
|
||||||
type Options struct {
|
type Options struct {
|
||||||
Enc encoder.MultiEncoder `config:"encoding"`
|
Enc encoder.MultiEncoder `config:"encoding"`
|
||||||
|
RootFolderID string `config:"root_folder_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fs represents a remote pcloud
|
// Fs represents a remote pcloud
|
||||||
|
@ -265,7 +270,8 @@ func NewFs(name, root string, m configmap.Mapper) (fs.Fs, error) {
|
||||||
return err
|
return err
|
||||||
})
|
})
|
||||||
|
|
||||||
// Get rootID
|
// Get rootFolderID
|
||||||
|
rootID := f.opt.RootFolderID
|
||||||
f.dirCache = dircache.New(root, rootID, f)
|
f.dirCache = dircache.New(root, rootID, f)
|
||||||
|
|
||||||
// Find the current root
|
// Find the current root
|
||||||
|
|
|
@ -112,6 +112,28 @@ Deleted files will be moved to the trash. Your subscription level
|
||||||
will determine how long items stay in the trash. `rclone cleanup` can
|
will determine how long items stay in the trash. `rclone cleanup` can
|
||||||
be used to empty the trash.
|
be used to empty the trash.
|
||||||
|
|
||||||
|
### Root folder ID ###
|
||||||
|
|
||||||
|
You can set the `root_folder_id` for rclone. This is the directory
|
||||||
|
(identified by its `Folder ID`) that rclone considers to be the root
|
||||||
|
of your pCloud drive.
|
||||||
|
|
||||||
|
Normally you will leave this blank and rclone will determine the
|
||||||
|
correct root to use itself.
|
||||||
|
|
||||||
|
However you can set this to restrict rclone to a specific folder
|
||||||
|
hierarchy.
|
||||||
|
|
||||||
|
In order to do this you will have to find the `Folder ID` of the
|
||||||
|
directory you wish rclone to display. This will be the `folder` field
|
||||||
|
of the URL when you open the relevant folder in the pCloud web
|
||||||
|
interface.
|
||||||
|
|
||||||
|
So if the folder you want rclone to use has a URL which looks like
|
||||||
|
`https://my.pcloud.com/#page=filemanager&folder=5xxxxxxxx8&tpl=foldergrid`
|
||||||
|
in the browser, then you use `5xxxxxxxx8` as
|
||||||
|
the `root_folder_id` in the config.
|
||||||
|
|
||||||
<!--- autogenerated options start - DO NOT EDIT, instead edit fs.RegInfo in backend/pcloud/pcloud.go then run make backenddocs -->
|
<!--- autogenerated options start - DO NOT EDIT, instead edit fs.RegInfo in backend/pcloud/pcloud.go then run make backenddocs -->
|
||||||
### Standard Options
|
### Standard Options
|
||||||
|
|
||||||
|
@ -152,4 +174,13 @@ See: the [encoding section in the overview](/overview/#encoding) for more info.
|
||||||
- Type: MultiEncoder
|
- Type: MultiEncoder
|
||||||
- Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
|
- Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
|
||||||
|
|
||||||
|
#### --pcloud-root-folder-id
|
||||||
|
|
||||||
|
Fill in for rclone to use a non root folder as its starting point.
|
||||||
|
|
||||||
|
- Config: root_folder_id
|
||||||
|
- Env Var: RCLONE_PCLOUD_ROOT_FOLDER_ID
|
||||||
|
- Type: string
|
||||||
|
- Default: "d0"
|
||||||
|
|
||||||
<!--- autogenerated options stop -->
|
<!--- autogenerated options stop -->
|
||||||
|
|
Loading…
Add table
Reference in a new issue