Skip to content

Commit 744dbd5

Browse files
authored
feat(drivers): support getting disk usage of some drivers (OpenListTeam#1905)
* feat(drivers): support getting disk usage of some drivers * feat(drivers/degoo): implement GetDetails * fix(fs/storage-details): fill used space rather than free space * fix mega * fix bsize type
1 parent 7088fa1 commit 744dbd5

File tree

49 files changed

+323
-131
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+323
-131
lines changed

drivers/115/driver.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,8 +252,8 @@ func (d *Pan115) GetDetails(ctx context.Context) (*model.StorageDetails, error)
252252
}
253253
return &model.StorageDetails{
254254
DiskUsage: model.DiskUsage{
255-
TotalSpace: uint64(info.SpaceInfo.AllTotal.Size),
256-
FreeSpace: uint64(info.SpaceInfo.AllRemain.Size),
255+
TotalSpace: info.SpaceInfo.AllTotal.Size,
256+
UsedSpace: info.SpaceInfo.AllUse.Size,
257257
},
258258
}, nil
259259
}

drivers/115_open/driver.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -335,14 +335,14 @@ func (d *Open115) GetDetails(ctx context.Context) (*model.StorageDetails, error)
335335
if err != nil {
336336
return nil, err
337337
}
338-
free, err := userInfo.RtSpaceInfo.AllRemain.Size.Int64()
338+
used, err := userInfo.RtSpaceInfo.AllUse.Size.Int64()
339339
if err != nil {
340340
return nil, err
341341
}
342342
return &model.StorageDetails{
343343
DiskUsage: model.DiskUsage{
344-
TotalSpace: uint64(total),
345-
FreeSpace: uint64(free),
344+
TotalSpace: total,
345+
UsedSpace: used,
346346
},
347347
}, nil
348348
}

drivers/123/driver.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,9 +260,11 @@ func (d *Pan123) GetDetails(ctx context.Context) (*model.StorageDetails, error)
260260
if err != nil {
261261
return nil, err
262262
}
263-
total := userInfo.Data.SpacePermanent + userInfo.Data.SpaceTemp
264263
return &model.StorageDetails{
265-
DiskUsage: driver.DiskUsageFromUsedAndTotal(userInfo.Data.SpaceUsed, total),
264+
DiskUsage: model.DiskUsage{
265+
TotalSpace: userInfo.Data.SpacePermanent + userInfo.Data.SpaceTemp,
266+
UsedSpace: userInfo.Data.SpaceUsed,
267+
},
266268
}, nil
267269
}
268270

drivers/123/types.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,9 @@ type UserInfoResp struct {
127127
Data struct {
128128
Uid int64 `json:"UID"`
129129
Nickname string `json:"Nickname"`
130-
SpaceUsed uint64 `json:"SpaceUsed"`
131-
SpacePermanent uint64 `json:"SpacePermanent"`
132-
SpaceTemp uint64 `json:"SpaceTemp"`
130+
SpaceUsed int64 `json:"SpaceUsed"`
131+
SpacePermanent int64 `json:"SpacePermanent"`
132+
SpaceTemp int64 `json:"SpaceTemp"`
133133
FileCount int `json:"FileCount"`
134134
} `json:"data"`
135135
}

drivers/123_open/driver.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,12 +238,10 @@ func (d *Open123) GetDetails(ctx context.Context) (*model.StorageDetails, error)
238238
if err != nil {
239239
return nil, err
240240
}
241-
total := userInfo.Data.SpacePermanent + userInfo.Data.SpaceTemp
242-
free := total - userInfo.Data.SpaceUsed
243241
return &model.StorageDetails{
244242
DiskUsage: model.DiskUsage{
245-
TotalSpace: total,
246-
FreeSpace: free,
243+
TotalSpace: userInfo.Data.SpacePermanent + userInfo.Data.SpaceTemp,
244+
UsedSpace: userInfo.Data.SpaceUsed,
247245
},
248246
}, nil
249247
}

drivers/123_open/types.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,9 @@ type UserInfoResp struct {
137137
// HeadImage string `json:"headImage"`
138138
// Passport string `json:"passport"`
139139
// Mail string `json:"mail"`
140-
SpaceUsed uint64 `json:"spaceUsed"`
141-
SpacePermanent uint64 `json:"spacePermanent"`
142-
SpaceTemp uint64 `json:"spaceTemp"`
140+
SpaceUsed int64 `json:"spaceUsed"`
141+
SpacePermanent int64 `json:"spacePermanent"`
142+
SpaceTemp int64 `json:"spaceTemp"`
143143
// SpaceTempExpr int64 `json:"spaceTempExpr"`
144144
// Vip bool `json:"vip"`
145145
// DirectTraffic int64 `json:"directTraffic"`

drivers/139/driver.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -944,17 +944,17 @@ func (d *Yun139) GetDetails(ctx context.Context) (*model.StorageDetails, error)
944944
if d.UserDomainID == "" {
945945
return nil, errs.NotImplement
946946
}
947-
var total, used uint64
947+
var total, used int64
948948
if d.isFamily() {
949949
diskInfo, err := d.getFamilyDiskInfo(ctx)
950950
if err != nil {
951951
return nil, err
952952
}
953-
totalMb, err := strconv.ParseUint(diskInfo.Data.DiskSize, 10, 64)
953+
totalMb, err := strconv.ParseInt(diskInfo.Data.DiskSize, 10, 64)
954954
if err != nil {
955955
return nil, fmt.Errorf("failed convert disk size into integer: %+v", err)
956956
}
957-
usedMb, err := strconv.ParseUint(diskInfo.Data.UsedSize, 10, 64)
957+
usedMb, err := strconv.ParseInt(diskInfo.Data.UsedSize, 10, 64)
958958
if err != nil {
959959
return nil, fmt.Errorf("failed convert used size into integer: %+v", err)
960960
}
@@ -965,19 +965,22 @@ func (d *Yun139) GetDetails(ctx context.Context) (*model.StorageDetails, error)
965965
if err != nil {
966966
return nil, err
967967
}
968-
totalMb, err := strconv.ParseUint(diskInfo.Data.DiskSize, 10, 64)
968+
totalMb, err := strconv.ParseInt(diskInfo.Data.DiskSize, 10, 64)
969969
if err != nil {
970970
return nil, fmt.Errorf("failed convert disk size into integer: %+v", err)
971971
}
972-
freeMb, err := strconv.ParseUint(diskInfo.Data.FreeDiskSize, 10, 64)
972+
freeMb, err := strconv.ParseInt(diskInfo.Data.FreeDiskSize, 10, 64)
973973
if err != nil {
974974
return nil, fmt.Errorf("failed convert free size into integer: %+v", err)
975975
}
976976
total = totalMb * 1024 * 1024
977977
used = total - (freeMb * 1024 * 1024)
978978
}
979979
return &model.StorageDetails{
980-
DiskUsage: driver.DiskUsageFromUsedAndTotal(used, total),
980+
DiskUsage: model.DiskUsage{
981+
TotalSpace: total,
982+
UsedSpace: used,
983+
},
981984
}, nil
982985
}
983986

drivers/189/driver.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,10 @@ func (d *Cloud189) GetDetails(ctx context.Context) (*model.StorageDetails, error
200200
return nil, err
201201
}
202202
return &model.StorageDetails{
203-
DiskUsage: driver.DiskUsageFromUsedAndTotal(capacityInfo.CloudCapacityInfo.UsedSize, capacityInfo.CloudCapacityInfo.TotalSize),
203+
DiskUsage: model.DiskUsage{
204+
TotalSpace: capacityInfo.CloudCapacityInfo.TotalSize,
205+
UsedSpace: capacityInfo.CloudCapacityInfo.UsedSize,
206+
},
204207
}, nil
205208
}
206209

drivers/189/types.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,15 @@ type CapacityResp struct {
7272
ResMessage string `json:"res_message"`
7373
Account string `json:"account"`
7474
CloudCapacityInfo struct {
75-
FreeSize int64 `json:"freeSize"`
76-
MailUsedSize uint64 `json:"mail189UsedSize"`
77-
TotalSize uint64 `json:"totalSize"`
78-
UsedSize uint64 `json:"usedSize"`
75+
FreeSize int64 `json:"freeSize"`
76+
MailUsedSize int64 `json:"mail189UsedSize"`
77+
TotalSize int64 `json:"totalSize"`
78+
UsedSize int64 `json:"usedSize"`
7979
} `json:"cloudCapacityInfo"`
8080
FamilyCapacityInfo struct {
81-
FreeSize int64 `json:"freeSize"`
82-
TotalSize uint64 `json:"totalSize"`
83-
UsedSize uint64 `json:"usedSize"`
81+
FreeSize int64 `json:"freeSize"`
82+
TotalSize int64 `json:"totalSize"`
83+
UsedSize int64 `json:"usedSize"`
8484
} `json:"familyCapacityInfo"`
8585
TotalSize uint64 `json:"totalSize"`
8686
}

drivers/189_tv/driver.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ func (y *Cloud189TV) GetDetails(ctx context.Context) (*model.StorageDetails, err
284284
if err != nil {
285285
return nil, err
286286
}
287-
var total, used uint64
287+
var total, used int64
288288
if y.isFamily() {
289289
total = capacityInfo.FamilyCapacityInfo.TotalSize
290290
used = capacityInfo.FamilyCapacityInfo.UsedSize
@@ -293,6 +293,9 @@ func (y *Cloud189TV) GetDetails(ctx context.Context) (*model.StorageDetails, err
293293
used = capacityInfo.CloudCapacityInfo.UsedSize
294294
}
295295
return &model.StorageDetails{
296-
DiskUsage: driver.DiskUsageFromUsedAndTotal(used, total),
296+
DiskUsage: model.DiskUsage{
297+
TotalSpace: total,
298+
UsedSpace: used,
299+
},
297300
}, nil
298301
}

0 commit comments

Comments
 (0)