mirror of
https://github.com/rclone/rclone.git
synced 2025-01-11 00:40:03 +01:00
jottacloud: refactor naming of different api urls
This commit is contained in:
parent
01340acad2
commit
a571c1fb46
@ -46,9 +46,9 @@ const (
|
|||||||
decayConstant = 2 // bigger for slower decay, exponential
|
decayConstant = 2 // bigger for slower decay, exponential
|
||||||
defaultDevice = "Jotta"
|
defaultDevice = "Jotta"
|
||||||
defaultMountpoint = "Archive"
|
defaultMountpoint = "Archive"
|
||||||
rootURL = "https://jfs.jottacloud.com/jfs/"
|
jfsURL = "https://jfs.jottacloud.com/jfs/"
|
||||||
apiURL = "https://api.jottacloud.com/"
|
apiURL = "https://api.jottacloud.com/"
|
||||||
baseURL = "https://www.jottacloud.com/"
|
wwwURL = "https://www.jottacloud.com/"
|
||||||
cachePrefix = "rclone-jcmd5-"
|
cachePrefix = "rclone-jcmd5-"
|
||||||
configDevice = "device"
|
configDevice = "device"
|
||||||
configMountpoint = "mountpoint"
|
configMountpoint = "mountpoint"
|
||||||
@ -277,7 +277,7 @@ sync or the backup section, for example, you must choose yes.`)
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
srv := rest.NewClient(oAuthClient).SetRoot(rootURL)
|
jfsSrv := rest.NewClient(oAuthClient).SetRoot(jfsURL)
|
||||||
apiSrv := rest.NewClient(oAuthClient).SetRoot(apiURL)
|
apiSrv := rest.NewClient(oAuthClient).SetRoot(apiURL)
|
||||||
|
|
||||||
cust, err := getCustomerInfo(ctx, apiSrv)
|
cust, err := getCustomerInfo(ctx, apiSrv)
|
||||||
@ -286,7 +286,7 @@ sync or the backup section, for example, you must choose yes.`)
|
|||||||
}
|
}
|
||||||
m.Set(configUsername, cust.Username)
|
m.Set(configUsername, cust.Username)
|
||||||
|
|
||||||
acc, err := getDriveInfo(ctx, srv, cust.Username)
|
acc, err := getDriveInfo(ctx, jfsSrv, cust.Username)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -316,11 +316,11 @@ a new by entering a unique name.`, defaultDevice)
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
srv := rest.NewClient(oAuthClient).SetRoot(rootURL)
|
jfsSrv := rest.NewClient(oAuthClient).SetRoot(jfsURL)
|
||||||
|
|
||||||
username, _ := m.Get(configUsername)
|
username, _ := m.Get(configUsername)
|
||||||
|
|
||||||
acc, err := getDriveInfo(ctx, srv, username)
|
acc, err := getDriveInfo(ctx, jfsSrv, username)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -335,7 +335,7 @@ a new by entering a unique name.`, defaultDevice)
|
|||||||
var dev *api.JottaDevice
|
var dev *api.JottaDevice
|
||||||
if isNew {
|
if isNew {
|
||||||
fs.Debugf(nil, "Creating new device: %s", device)
|
fs.Debugf(nil, "Creating new device: %s", device)
|
||||||
dev, err = createDevice(ctx, srv, path.Join(username, device))
|
dev, err = createDevice(ctx, jfsSrv, path.Join(username, device))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -343,7 +343,7 @@ a new by entering a unique name.`, defaultDevice)
|
|||||||
m.Set(configDevice, device)
|
m.Set(configDevice, device)
|
||||||
|
|
||||||
if !isNew {
|
if !isNew {
|
||||||
dev, err = getDeviceInfo(ctx, srv, path.Join(username, device))
|
dev, err = getDeviceInfo(ctx, jfsSrv, path.Join(username, device))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -372,12 +372,12 @@ You may create a new by entering a unique name.`, device)
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
srv := rest.NewClient(oAuthClient).SetRoot(rootURL)
|
jfsSrv := rest.NewClient(oAuthClient).SetRoot(jfsURL)
|
||||||
|
|
||||||
username, _ := m.Get(configUsername)
|
username, _ := m.Get(configUsername)
|
||||||
device, _ := m.Get(configDevice)
|
device, _ := m.Get(configDevice)
|
||||||
|
|
||||||
dev, err := getDeviceInfo(ctx, srv, path.Join(username, device))
|
dev, err := getDeviceInfo(ctx, jfsSrv, path.Join(username, device))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -395,7 +395,7 @@ You may create a new by entering a unique name.`, device)
|
|||||||
return nil, fmt.Errorf("custom mountpoints not supported on built-in %s device: %w", defaultDevice, err)
|
return nil, fmt.Errorf("custom mountpoints not supported on built-in %s device: %w", defaultDevice, err)
|
||||||
}
|
}
|
||||||
fs.Debugf(nil, "Creating new mountpoint: %s", mountpoint)
|
fs.Debugf(nil, "Creating new mountpoint: %s", mountpoint)
|
||||||
_, err := createMountPoint(ctx, srv, path.Join(username, device, mountpoint))
|
_, err := createMountPoint(ctx, jfsSrv, path.Join(username, device, mountpoint))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -431,7 +431,7 @@ type Fs struct {
|
|||||||
features *fs.Features
|
features *fs.Features
|
||||||
endpointURL string
|
endpointURL string
|
||||||
allocateURL string
|
allocateURL string
|
||||||
srv *rest.Client
|
jfsSrv *rest.Client
|
||||||
apiSrv *rest.Client
|
apiSrv *rest.Client
|
||||||
pacer *fs.Pacer
|
pacer *fs.Pacer
|
||||||
tokenRenewer *oauthutil.Renew // renew the token on expiry
|
tokenRenewer *oauthutil.Renew // renew the token on expiry
|
||||||
@ -733,7 +733,7 @@ func (f *Fs) readMetaDataForPath(ctx context.Context, path string) (info *api.Jo
|
|||||||
var result api.JottaFile
|
var result api.JottaFile
|
||||||
var resp *http.Response
|
var resp *http.Response
|
||||||
err = f.pacer.Call(func() (bool, error) {
|
err = f.pacer.Call(func() (bool, error) {
|
||||||
resp, err = f.srv.CallXML(ctx, &opts, nil, &result)
|
resp, err = f.jfsSrv.CallXML(ctx, &opts, nil, &result)
|
||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -899,7 +899,7 @@ func NewFs(ctx context.Context, name, root string, m configmap.Mapper) (fs.Fs, e
|
|||||||
name: name,
|
name: name,
|
||||||
root: root,
|
root: root,
|
||||||
opt: *opt,
|
opt: *opt,
|
||||||
srv: rest.NewClient(oAuthClient).SetRoot(rootURL),
|
jfsSrv: rest.NewClient(oAuthClient).SetRoot(jfsURL),
|
||||||
apiSrv: rest.NewClient(oAuthClient).SetRoot(apiURL),
|
apiSrv: rest.NewClient(oAuthClient).SetRoot(apiURL),
|
||||||
pacer: fs.NewPacer(ctx, pacer.NewDefault(pacer.MinSleep(minSleep), pacer.MaxSleep(maxSleep), pacer.DecayConstant(decayConstant))),
|
pacer: fs.NewPacer(ctx, pacer.NewDefault(pacer.MinSleep(minSleep), pacer.MaxSleep(maxSleep), pacer.DecayConstant(decayConstant))),
|
||||||
}
|
}
|
||||||
@ -909,7 +909,7 @@ func NewFs(ctx context.Context, name, root string, m configmap.Mapper) (fs.Fs, e
|
|||||||
ReadMimeType: true,
|
ReadMimeType: true,
|
||||||
WriteMimeType: false,
|
WriteMimeType: false,
|
||||||
}).Fill(ctx, f)
|
}).Fill(ctx, f)
|
||||||
f.srv.SetErrorHandler(errorHandler)
|
f.jfsSrv.SetErrorHandler(errorHandler)
|
||||||
if opt.TrashedOnly { // we cannot support showing Trashed Files when using ListR right now
|
if opt.TrashedOnly { // we cannot support showing Trashed Files when using ListR right now
|
||||||
f.features.ListR = nil
|
f.features.ListR = nil
|
||||||
}
|
}
|
||||||
@ -994,7 +994,7 @@ func (f *Fs) CreateDir(ctx context.Context, path string) (jf *api.JottaFolder, e
|
|||||||
opts.Parameters.Set("mkDir", "true")
|
opts.Parameters.Set("mkDir", "true")
|
||||||
|
|
||||||
err = f.pacer.Call(func() (bool, error) {
|
err = f.pacer.Call(func() (bool, error) {
|
||||||
resp, err = f.srv.CallXML(ctx, &opts, nil, &jf)
|
resp, err = f.jfsSrv.CallXML(ctx, &opts, nil, &jf)
|
||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -1023,7 +1023,7 @@ func (f *Fs) List(ctx context.Context, dir string) (entries fs.DirEntries, err e
|
|||||||
var resp *http.Response
|
var resp *http.Response
|
||||||
var result api.JottaFolder
|
var result api.JottaFolder
|
||||||
err = f.pacer.Call(func() (bool, error) {
|
err = f.pacer.Call(func() (bool, error) {
|
||||||
resp, err = f.srv.CallXML(ctx, &opts, nil, &result)
|
resp, err = f.jfsSrv.CallXML(ctx, &opts, nil, &result)
|
||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -1181,7 +1181,7 @@ func (f *Fs) ListR(ctx context.Context, dir string, callback fs.ListRCallback) (
|
|||||||
|
|
||||||
var resp *http.Response
|
var resp *http.Response
|
||||||
err = f.pacer.Call(func() (bool, error) {
|
err = f.pacer.Call(func() (bool, error) {
|
||||||
resp, err = f.srv.Call(ctx, &opts)
|
resp, err = f.jfsSrv.Call(ctx, &opts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
}
|
}
|
||||||
@ -1291,7 +1291,7 @@ func (f *Fs) purgeCheck(ctx context.Context, dir string, check bool) (err error)
|
|||||||
|
|
||||||
var resp *http.Response
|
var resp *http.Response
|
||||||
err = f.pacer.Call(func() (bool, error) {
|
err = f.pacer.Call(func() (bool, error) {
|
||||||
resp, err = f.srv.Call(ctx, &opts)
|
resp, err = f.jfsSrv.Call(ctx, &opts)
|
||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -1344,7 +1344,7 @@ func (f *Fs) createOrUpdate(ctx context.Context, file string, modTime time.Time,
|
|||||||
|
|
||||||
var resp *http.Response
|
var resp *http.Response
|
||||||
err = f.pacer.Call(func() (bool, error) {
|
err = f.pacer.Call(func() (bool, error) {
|
||||||
resp, err = f.srv.CallXML(ctx, &opts, nil, &info)
|
resp, err = f.jfsSrv.CallXML(ctx, &opts, nil, &info)
|
||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -1369,7 +1369,7 @@ func (f *Fs) copyOrMove(ctx context.Context, method, src, dest string) (info *ap
|
|||||||
|
|
||||||
var resp *http.Response
|
var resp *http.Response
|
||||||
err = f.pacer.Call(func() (bool, error) {
|
err = f.pacer.Call(func() (bool, error) {
|
||||||
resp, err = f.srv.CallXML(ctx, &opts, nil, &info)
|
resp, err = f.jfsSrv.CallXML(ctx, &opts, nil, &info)
|
||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -1503,7 +1503,7 @@ func (f *Fs) PublicLink(ctx context.Context, remote string, expire fs.Duration,
|
|||||||
var resp *http.Response
|
var resp *http.Response
|
||||||
var result api.JottaFile
|
var result api.JottaFile
|
||||||
err = f.pacer.Call(func() (bool, error) {
|
err = f.pacer.Call(func() (bool, error) {
|
||||||
resp, err = f.srv.CallXML(ctx, &opts, nil, &result)
|
resp, err = f.jfsSrv.CallXML(ctx, &opts, nil, &result)
|
||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -1529,19 +1529,19 @@ func (f *Fs) PublicLink(ctx context.Context, remote string, expire fs.Duration,
|
|||||||
return "", errors.New("couldn't create public link - no uri received")
|
return "", errors.New("couldn't create public link - no uri received")
|
||||||
}
|
}
|
||||||
if result.PublicSharePath != "" {
|
if result.PublicSharePath != "" {
|
||||||
webLink := joinPath(baseURL, result.PublicSharePath)
|
webLink := joinPath(wwwURL, result.PublicSharePath)
|
||||||
fs.Debugf(nil, "Web link: %s", webLink)
|
fs.Debugf(nil, "Web link: %s", webLink)
|
||||||
} else {
|
} else {
|
||||||
fs.Debugf(nil, "No web link received")
|
fs.Debugf(nil, "No web link received")
|
||||||
}
|
}
|
||||||
directLink := joinPath(baseURL, fmt.Sprintf("opin/io/downloadPublic/%s/%s", f.user, result.PublicURI))
|
directLink := joinPath(wwwURL, fmt.Sprintf("opin/io/downloadPublic/%s/%s", f.user, result.PublicURI))
|
||||||
fs.Debugf(nil, "Direct link: %s", directLink)
|
fs.Debugf(nil, "Direct link: %s", directLink)
|
||||||
return directLink, nil
|
return directLink, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// About gets quota information
|
// About gets quota information
|
||||||
func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
func (f *Fs) About(ctx context.Context) (*fs.Usage, error) {
|
||||||
info, err := getDriveInfo(ctx, f.srv, f.user)
|
info, err := getDriveInfo(ctx, f.jfsSrv, f.user)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -1744,7 +1744,7 @@ func (o *Object) Open(ctx context.Context, options ...fs.OpenOption) (in io.Read
|
|||||||
opts.Parameters.Set("mode", "bin")
|
opts.Parameters.Set("mode", "bin")
|
||||||
|
|
||||||
err = o.fs.pacer.Call(func() (bool, error) {
|
err = o.fs.pacer.Call(func() (bool, error) {
|
||||||
resp, err = o.fs.srv.Call(ctx, &opts)
|
resp, err = o.fs.jfsSrv.Call(ctx, &opts)
|
||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -1935,7 +1935,7 @@ func (o *Object) remove(ctx context.Context, hard bool) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return o.fs.pacer.Call(func() (bool, error) {
|
return o.fs.pacer.Call(func() (bool, error) {
|
||||||
resp, err := o.fs.srv.CallXML(ctx, &opts, nil, nil)
|
resp, err := o.fs.jfsSrv.CallXML(ctx, &opts, nil, nil)
|
||||||
return shouldRetry(ctx, resp, err)
|
return shouldRetry(ctx, resp, err)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user