Skip to content

Commit 5877117

Browse files
committed
actor add updated time;fc2 bug fix;
1 parent 60801a8 commit 5877117

File tree

14 files changed

+65
-79
lines changed

14 files changed

+65
-79
lines changed

Diff for: drivers/all.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ import (
3030
_ "github.com/alist-org/alist/v3/drivers/ilanzou"
3131
_ "github.com/alist-org/alist/v3/drivers/ipfs_api"
3232
_ "github.com/alist-org/alist/v3/drivers/jable_tv"
33+
_ "github.com/alist-org/alist/v3/drivers/javdb"
3334
_ "github.com/alist-org/alist/v3/drivers/lanzou"
3435
_ "github.com/alist-org/alist/v3/drivers/local"
3536
_ "github.com/alist-org/alist/v3/drivers/madou_club"
3637
_ "github.com/alist-org/alist/v3/drivers/mediatrack"
3738
_ "github.com/alist-org/alist/v3/drivers/mega"
38-
_ "github.com/alist-org/alist/v3/drivers/miss_av"
3939
_ "github.com/alist-org/alist/v3/drivers/mopan"
4040
_ "github.com/alist-org/alist/v3/drivers/netease_music"
4141
_ "github.com/alist-org/alist/v3/drivers/onedrive"

Diff for: drivers/fc2/driver.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ func (d *FC2) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]m
9090

9191
index := strings.Index(dirName, " ")
9292

93-
return pikPak.CloudDownload(ctx, d.PikPakCacheDirectory, dir.GetPath(), fmt.Sprintf("%s FC2-PPV-%s %s", dirName[:index], dir.GetID(), dirName[index+1:]), magnet)
93+
return pikPak.CloudDownload(ctx, d.PikPakCacheDirectory, dir.GetPath(), fmt.Sprintf("FC2-PPV-%s %s", dir.GetID(), dirName[index+1:]), magnet)
9494
} else {
9595
// pikPak文件
9696
return results, nil

Diff for: drivers/jable_tv/driver.go

+10-10
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/alist-org/alist/v3/internal/driver"
99
"github.com/alist-org/alist/v3/internal/model"
1010
"github.com/alist-org/alist/v3/pkg/cron"
11+
"github.com/emirpasic/gods/v2/maps/linkedhashmap"
1112
json "github.com/json-iterator/go"
1213
"net/http"
1314
"regexp"
@@ -51,10 +52,10 @@ func (d *JableTV) List(ctx context.Context, dir model.Obj, args model.ListArgs)
5152

5253
actors := db.QueryActor(strconv.Itoa(int(d.ID)))
5354

54-
actorsMap := make(map[string]model.Actor)
55+
actorsMap := linkedhashmap.New[string, model.Actor]()
5556

56-
for _, film := range actors {
57-
actorsMap[film.Name] = film
57+
for _, actor := range actors {
58+
actorsMap.Put(actor.Name, actor)
5859
}
5960
categoriesMap := make(map[string]string)
6061

@@ -101,21 +102,20 @@ func (d *JableTV) List(ctx context.Context, dir model.Obj, args model.ListArgs)
101102
}
102103

103104
if dirName == "关注演员" {
104-
for actor := range actorsMap {
105+
actorsMap.Each(func(name string, actor model.Actor) {
105106
results = append(results, &model.ObjThumb{
106107
Object: model.Object{
107-
Name: actor,
108+
Name: name,
108109
IsFolder: true,
109-
ID: actor,
110+
ID: name,
110111
Size: 622857143,
111-
Modified: time.Now(),
112+
Modified: actor.Model.UpdatedAt,
112113
},
113114
})
114-
}
115+
})
115116
return results, nil
116117
} else {
117-
118-
actor, exist := actorsMap[dirName]
118+
actor, exist := actorsMap.Get(dirName)
119119
if exist {
120120
return d.getActorFilms(actor.Url, results)
121121
}

Diff for: drivers/miss_av/driver.go renamed to drivers/javdb/driver.go

+25-25
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package miss_av
1+
package javdb
22

33
import (
44
"context"
@@ -10,12 +10,12 @@ import (
1010
"github.com/alist-org/alist/v3/internal/model"
1111
"github.com/alist-org/alist/v3/internal/op"
1212
"github.com/alist-org/alist/v3/pkg/cron"
13+
"github.com/emirpasic/gods/v2/maps/linkedhashmap"
1314
"strconv"
1415
"strings"
15-
"time"
1616
)
1717

18-
type MIssAV struct {
18+
type Javdb struct {
1919
model.Storage
2020
Addition
2121
AccessToken string
@@ -24,28 +24,28 @@ type MIssAV struct {
2424
cron *cron.Cron
2525
}
2626

27-
func (d *MIssAV) Config() driver.Config {
27+
func (d *Javdb) Config() driver.Config {
2828
return config
2929
}
3030

31-
func (d *MIssAV) GetAddition() driver.Additional {
31+
func (d *Javdb) GetAddition() driver.Additional {
3232
return &d.Addition
3333
}
3434

35-
func (d *MIssAV) Init(ctx context.Context) error {
35+
func (d *Javdb) Init(ctx context.Context) error {
3636
return nil
3737
}
3838

39-
func (d *MIssAV) Drop(ctx context.Context) error {
39+
func (d *Javdb) Drop(ctx context.Context) error {
4040
if d.cron != nil {
4141
d.cron.Stop()
4242
}
4343
return nil
4444
}
4545

46-
func (d *MIssAV) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]model.Obj, error) {
46+
func (d *Javdb) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]model.Obj, error) {
4747

48-
categories := make(map[string]string)
48+
categories := linkedhashmap.New[string, model.Actor]()
4949
results := make([]model.Obj, 0)
5050

5151
storage := op.GetBalancedStorage(d.PikPakPath)
@@ -58,31 +58,31 @@ func (d *MIssAV) List(ctx context.Context, dir model.Obj, args model.ListArgs) (
5858

5959
actors := db.QueryActor(strconv.Itoa(int(d.ID)))
6060
for _, actor := range actors {
61-
url := actor.Url
62-
if !strings.HasPrefix(url, "http") {
63-
url = "https://javdb.com/actors/" + url + "?page=%d&sort_type=0&t=d"
64-
}
65-
categories[actor.Name] = url
61+
categories.Put(actor.Name, actor)
6662
}
6763

6864
if d.RootID.GetRootId() == dirName {
6965
// 1. 顶级目录
70-
for category := range categories {
66+
categories.Each(func(name string, actor model.Actor) {
7167
results = append(results, &model.ObjThumb{
7268
Object: model.Object{
73-
Name: category,
69+
Name: name,
7470
IsFolder: true,
75-
ID: category,
71+
ID: name,
7672
Size: 622857143,
77-
Modified: time.Now(),
73+
Modified: actor.Model.UpdatedAt,
7874
},
7975
})
80-
}
76+
})
8177
return results, nil
82-
} else if categories[dirName] != "" {
78+
} else if actor, exist := categories.Get(dirName); exist {
8379
// 自定义目录
80+
url := actor.Url
81+
if !strings.HasPrefix(url, "http") {
82+
url = "https://javdb.com/actors/" + url + "?page=%d&sort_type=0&t=d"
83+
}
8484
return d.getFilms(dirName, func(index int) string {
85-
return fmt.Sprintf(categories[dirName], index)
85+
return fmt.Sprintf(url, index)
8686
})
8787
} else if strings.Contains(dir.GetID(), "https://") && !strings.Contains(dir.GetID(), ".jpg") {
8888
// 临时文件
@@ -98,7 +98,7 @@ func (d *MIssAV) List(ctx context.Context, dir model.Obj, args model.ListArgs) (
9898

9999
}
100100

101-
func (d *MIssAV) Link(ctx context.Context, file model.Obj, args model.LinkArgs) (*model.Link, error) {
101+
func (d *Javdb) Link(ctx context.Context, file model.Obj, args model.LinkArgs) (*model.Link, error) {
102102

103103
if strings.Contains(file.GetID(), ".jpg") {
104104
return &model.Link{
@@ -118,7 +118,7 @@ func (d *MIssAV) Link(ctx context.Context, file model.Obj, args model.LinkArgs)
118118

119119
}
120120

121-
func (d *MIssAV) Remove(ctx context.Context, obj model.Obj) error {
121+
func (d *Javdb) Remove(ctx context.Context, obj model.Obj) error {
122122

123123
err := db.DeleteActor(strconv.Itoa(int(d.ID)), obj.GetName())
124124
if err != nil {
@@ -129,7 +129,7 @@ func (d *MIssAV) Remove(ctx context.Context, obj model.Obj) error {
129129

130130
}
131131

132-
func (d *MIssAV) MakeDir(ctx context.Context, parentDir model.Obj, dirName string) error {
132+
func (d *Javdb) MakeDir(ctx context.Context, parentDir model.Obj, dirName string) error {
133133

134134
split := strings.Split(dirName, " ")
135135
if len(split) != 2 {
@@ -140,4 +140,4 @@ func (d *MIssAV) MakeDir(ctx context.Context, parentDir model.Obj, dirName strin
140140

141141
}
142142

143-
var _ driver.Driver = (*MIssAV)(nil)
143+
var _ driver.Driver = (*Javdb)(nil)

Diff for: drivers/miss_av/meta.go renamed to drivers/javdb/meta.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package miss_av
1+
package javdb
22

33
import (
44
"github.com/alist-org/alist/v3/internal/driver"
@@ -16,7 +16,7 @@ type Addition struct {
1616
}
1717

1818
var config = driver.Config{
19-
Name: "MissAV",
19+
Name: "Javdb",
2020
LocalSort: false,
2121
OnlyProxy: false,
2222
NoUpload: true,
@@ -25,6 +25,6 @@ var config = driver.Config{
2525

2626
func init() {
2727
op.RegisterDriver(func() driver.Driver {
28-
return &MIssAV{}
28+
return &Javdb{}
2929
})
3030
}

Diff for: drivers/javdb/types.go

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package javdb

Diff for: drivers/miss_av/util.go renamed to drivers/javdb/util.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package miss_av
1+
package javdb
22

33
import (
44
"github.com/alist-org/alist/v3/internal/db"
@@ -10,7 +10,7 @@ import (
1010
"time"
1111
)
1212

13-
func (d *MIssAV) getFilms(dirName string, urlFunc func(index int) string) ([]model.Obj, error) {
13+
func (d *Javdb) getFilms(dirName string, urlFunc func(index int) string) ([]model.Obj, error) {
1414

1515
results := make([]model.Obj, 0)
1616
data := make([]model.ObjThumb, 0)
@@ -66,7 +66,7 @@ func (d *MIssAV) getFilms(dirName string, urlFunc func(index int) string) ([]mod
6666

6767
}
6868

69-
func (d *MIssAV) convertFilm(dirName string, actor []model.Film, results []model.Obj) []model.Obj {
69+
func (d *Javdb) convertFilm(dirName string, actor []model.Film, results []model.Obj) []model.Obj {
7070
for _, film := range actor {
7171
results = append(results, &model.ObjThumb{
7272
Object: model.Object{
@@ -94,7 +94,7 @@ func (d *MIssAV) convertFilm(dirName string, actor []model.Film, results []model
9494
return results
9595
}
9696

97-
func (d *MIssAV) getMagnet(file model.Obj) (string, error) {
97+
func (d *Javdb) getMagnet(file model.Obj) (string, error) {
9898

9999
magnet := ""
100100
subTitles := false
@@ -124,7 +124,7 @@ func (d *MIssAV) getMagnet(file model.Obj) (string, error) {
124124

125125
}
126126

127-
func (d *MIssAV) getPageInfo(urlFunc func(index int) string, index int, data []model.ObjThumb) ([]model.ObjThumb, bool, error) {
127+
func (d *Javdb) getPageInfo(urlFunc func(index int) string, index int, data []model.ObjThumb) ([]model.ObjThumb, bool, error) {
128128

129129
var nextPage bool
130130

Diff for: drivers/miss_av/types.go

-1
This file was deleted.

Diff for: drivers/pikpak/driver.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ func (d *PikPak) Link(ctx context.Context, file model.Obj, args model.LinkArgs)
9393
}
9494
if !d.DisableMediaLink && len(resp.Medias) > 0 && resp.Medias[0].Link.Url != "" {
9595
log.Debugln("use media link")
96-
link.URL = resp.Medias[0].Link.Url
96+
link.URL = resp.Medias[d.LinkIndex].Link.Url
9797
}
9898
return &link, nil
9999
}

Diff for: drivers/pikpak/meta.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ type Addition struct {
1111
Password string `json:"password" required:"true"`
1212
DisableMediaLink bool `json:"disable_media_link"`
1313
FileNameBlackChars string `json:"file_name_black_chars"`
14-
ClientID string `json:"client_id" required:"true" default:"YNxT9w7GMdWvEOKa"`
15-
ClientSecret string `json:"client_secret" required:"true" default:"dbw2OtmVEeuUvIptb1Coyg"`
14+
ClientID string `json:"client_id" required:"true" default:"YNxT9w7GMdWvEOKa"`
15+
ClientSecret string `json:"client_secret" required:"true" default:"dbw2OtmVEeuUvIptb1Coyg"`
16+
LinkIndex uint `json:"link_index" type:"number" default:"0"`
1617
}
1718

1819
var config = driver.Config{

Diff for: go.mod

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ require (
2323
github.com/djherbis/times v1.6.0
2424
github.com/dlclark/regexp2 v1.10.0
2525
github.com/dustinxie/ecc v0.0.0-20210511000915-959544187564
26+
github.com/emirpasic/gods/v2 v2.0.0-alpha
2627
github.com/foxxorcat/mopan-sdk-go v0.1.6
2728
github.com/foxxorcat/weiyun-sdk-go v0.1.3
2829
github.com/gaoyb7/115drive-webdav v0.1.8
@@ -35,6 +36,7 @@ require (
3536
github.com/google/uuid v1.5.0
3637
github.com/gorilla/websocket v1.5.1
3738
github.com/hirochachacha/go-smb2 v1.1.0
39+
github.com/ipfs/boxo v0.12.0
3840
github.com/ipfs/go-ipfs-api v0.7.0
3941
github.com/jlaffaye/ftp v0.2.0
4042
github.com/json-iterator/go v1.1.12
@@ -138,7 +140,6 @@ require (
138140
github.com/hashicorp/go-multierror v1.1.1 // indirect
139141
github.com/hashicorp/go-version v1.6.0 // indirect
140142
github.com/inconshreveable/mousetrap v1.1.0 // indirect
141-
github.com/ipfs/boxo v0.12.0 // indirect
142143
github.com/ipfs/go-cid v0.4.1 // indirect
143144
github.com/jackc/pgpassfile v1.0.0 // indirect
144145
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect

0 commit comments

Comments
 (0)