Chore: rename to metatube
This commit is contained in:
1 parent
278a7b91f3
commit
84bdb90496
73 files changed
+348
-348
No files matched your search
@@ -56,8 +56,8 @@ jobs:
|
|||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
tags: |
|
tags: |
|
||||||
javtube/javtube-server:dev
|
javtube/metatube-server:dev
|
||||||
ghcr.io/javtube/javtube-server:dev
|
ghcr.io/javtube/metatube-server:dev
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
@@ -70,9 +70,9 @@ jobs:
|
|||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
tags: |
|
tags: |
|
||||||
javtube/javtube-server:latest
|
javtube/metatube-server:latest
|
||||||
javtube/javtube-server:${{ steps.shell.outputs.version }}
|
javtube/metatube-server:${{ steps.shell.outputs.version }}
|
||||||
ghcr.io/javtube/javtube-server:latest
|
ghcr.io/javtube/metatube-server:latest
|
||||||
ghcr.io/javtube/javtube-server:${{ steps.shell.outputs.version }}
|
ghcr.io/javtube/metatube-server:${{ steps.shell.outputs.version }}
|
||||||
cache-from: type=gha
|
cache-from: type=gha
|
||||||
cache-to: type=gha,mode=max
|
cache-to: type=gha,mode=max
|
||||||
@@ -41,5 +41,5 @@ jobs:
|
|||||||
files: build/*
|
files: build/*
|
||||||
draft: false
|
draft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
repository: javtube/javtube-server-releases
|
repository: javtube/metatube-server-releases
|
||||||
token: ${{ secrets.BOT_PAT }}
|
token: ${{ secrets.BOT_PAT }}
|
||||||
+1
-1
@@ -10,7 +10,7 @@ linters-settings:
|
|||||||
gci:
|
gci:
|
||||||
sections:
|
sections:
|
||||||
- standard
|
- standard
|
||||||
- prefix(github.com/javtube/javtube-sdk-go)
|
- prefix(github.com/javtube/metatube-sdk-go)
|
||||||
- default
|
- default
|
||||||
staticcheck:
|
staticcheck:
|
||||||
go: '1.19'
|
go: '1.19'
|
||||||
+3
-3
@@ -7,9 +7,9 @@ RUN apk add --update --no-cache --no-progress make git \
|
|||||||
&& make server
|
&& make server
|
||||||
|
|
||||||
FROM alpine:latest
|
FROM alpine:latest
|
||||||
LABEL org.opencontainers.image.source="https://github.com/javtube/javtube-sdk-go"
|
LABEL org.opencontainers.image.source="https://github.com/javtube/metatube-sdk-go"
|
||||||
|
|
||||||
COPY --from=builder /src/build/javtube-server .
|
COPY --from=builder /src/build/metatube-server .
|
||||||
|
|
||||||
RUN apk add --update --no-cache --no-progress ca-certificates tzdata
|
RUN apk add --update --no-cache --no-progress ca-certificates tzdata
|
||||||
|
|
||||||
@@ -23,4 +23,4 @@ ENV DB_MAX_OPEN_CONNS=0
|
|||||||
ENV DB_PREPARED_STMT=0
|
ENV DB_PREPARED_STMT=0
|
||||||
ENV DB_AUTO_MIGRATE=0
|
ENV DB_AUTO_MIGRATE=0
|
||||||
|
|
||||||
ENTRYPOINT ["/javtube-server"]
|
ENTRYPOINT ["/metatube-server"]
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
MODULE := github.com/javtube/javtube-sdk-go
|
MODULE := github.com/javtube/metatube-sdk-go
|
||||||
|
|
||||||
SERVER_NAME := javtube-server
|
SERVER_NAME := metatube-server
|
||||||
SERVER_CODE := cmd/server/main.go
|
SERVER_CODE := cmd/server/main.go
|
||||||
|
|
||||||
BUILD_DIR := build
|
BUILD_DIR := build
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
# JavTube SDK Go
|
# MetaTube SDK Go
|
||||||
|
|
||||||
[](https://github.com/javtube/javtube-sdk-go/actions/workflows/release.yml)
|
[](https://github.com/javtube/metatube-sdk-go/actions/workflows/release.yml)
|
||||||
[](https://github.com/javtube/javtube-sdk-go)
|
[](https://github.com/javtube/metatube-sdk-go)
|
||||||
[](https://github.com/javtube/javtube-sdk-go/blob/main/go.mod)
|
[](https://github.com/javtube/metatube-sdk-go/blob/main/go.mod)
|
||||||
[](https://github.com/javtube/javtube-sdk-go/blob/main/LICENSE)
|
[](https://github.com/javtube/metatube-sdk-go/blob/main/LICENSE)
|
||||||
[](https://github.com/javtube/javtube-sdk-go/tags)
|
[](https://github.com/javtube/metatube-sdk-go/tags)
|
||||||
|
|
||||||
[//]: # ([](https://github.com/javtube/javtube-sdk-go))
|
[//]: # ([](https://github.com/javtube/metatube-sdk-go))
|
||||||
|
|
||||||
Just Another Video Tube SDK in Golang.
|
Metadata Tube SDK in Golang.
|
||||||
|
|
||||||
## Contents
|
## Contents
|
||||||
|
|
||||||
- [JavTube SDK Go](#javtube-sdk-go)
|
- [MetaTube SDK Go](#metatube-sdk-go)
|
||||||
- [Contents](#contents)
|
- [Contents](#contents)
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
- [Installation](#installation)
|
- [Installation](#installation)
|
||||||
@@ -50,7 +50,7 @@ Just Another Video Tube SDK in Golang.
|
|||||||
To install this package, you first need [Go](https://golang.org/) installed (**version 1.19+ is required**), then you can use the below Go command to install SDK.
|
To install this package, you first need [Go](https://golang.org/) installed (**version 1.19+ is required**), then you can use the below Go command to install SDK.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
go get -u github.com/javtube/javtube-sdk-go
|
go get -u github.com/javtube/metatube-sdk-go
|
||||||
```
|
```
|
||||||
|
|
||||||
## Quickstart
|
## Quickstart
|
||||||
@@ -67,7 +67,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/engine"
|
"github.com/javtube/metatube-sdk-go/engine"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -91,7 +91,7 @@ $ go run example.go
|
|||||||
|
|
||||||
## API Examples
|
## API Examples
|
||||||
|
|
||||||
You can find detailed examples in [examples folder](https://github.com/javtube/javtube-sdk-go/tree/main/_examples/) or specific implementations in [cmd folder](https://github.com/javtube/javtube-sdk-go/tree/main/cmd/).
|
You can find detailed examples in [examples folder](https://github.com/javtube/metatube-sdk-go/tree/main/_examples/) or specific implementations in [cmd folder](https://github.com/javtube/metatube-sdk-go/tree/main/cmd/).
|
||||||
|
|
||||||
### Initiate SDK engine manually
|
### Initiate SDK engine manually
|
||||||
|
|
||||||
@@ -102,8 +102,8 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/database"
|
"github.com/javtube/metatube-sdk-go/database"
|
||||||
"github.com/javtube/javtube-sdk-go/engine"
|
"github.com/javtube/metatube-sdk-go/engine"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -195,7 +195,7 @@ func main() {
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/javtube/javtube-sdk-go/translate"
|
"github.com/javtube/metatube-sdk-go/translate"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -226,4 +226,4 @@ func main() {
|
|||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
[GNU GPLv3 License](https://github.com/javtube/javtube-sdk-go/blob/main/LICENSE)
|
[GNU GPLv3 License](https://github.com/javtube/metatube-sdk-go/blob/main/LICENSE)
|
||||||
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
# SDK Examples
|
# SDK Examples
|
||||||
|
|
||||||
This folder provides easy to understand code snippets on how to get started with javtube-sdk-go.
|
This folder provides easy to understand code snippets on how to get started with metatube-sdk-go.
|
||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/engine"
|
"github.com/javtube/metatube-sdk-go/engine"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/javtube/javtube-sdk-go/engine"
|
"github.com/javtube/metatube-sdk-go/engine"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/arzon"
|
"github.com/javtube/metatube-sdk-go/provider/arzon"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/fanza"
|
"github.com/javtube/metatube-sdk-go/provider/fanza"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/javbus"
|
"github.com/javtube/metatube-sdk-go/provider/javbus"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/sod"
|
"github.com/javtube/metatube-sdk-go/provider/sod"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/xslist"
|
"github.com/javtube/metatube-sdk-go/provider/xslist"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -50,7 +50,7 @@ func main() {
|
|||||||
|
|
||||||
// Get movie primary image id `hmn00268` from FANZA with aspect ratio set to 7:10 and pos set to center.
|
// Get movie primary image id `hmn00268` from FANZA with aspect ratio set to 7:10 and pos set to center.
|
||||||
app.GetMoviePrimaryImage(fanza.Name, "hmn00268", 0.70, 0.5)
|
app.GetMoviePrimaryImage(fanza.Name, "hmn00268", 0.70, 0.5)
|
||||||
|
|
||||||
// Get movie backdrop image id `DLDSS-077` from SOD.
|
// Get movie backdrop image id `DLDSS-077` from SOD.
|
||||||
app.GetMovieBackdropImage(sod.Name, "DLDSS-077")
|
app.GetMovieBackdropImage(sod.Name, "DLDSS-077")
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/javtube/javtube-sdk-go/translate"
|
"github.com/javtube/metatube-sdk-go/translate"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|||||||
+5
-5
@@ -12,11 +12,11 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/peterbourgon/ff/v3"
|
"github.com/peterbourgon/ff/v3"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/database"
|
"github.com/javtube/metatube-sdk-go/database"
|
||||||
"github.com/javtube/javtube-sdk-go/engine"
|
"github.com/javtube/metatube-sdk-go/engine"
|
||||||
V "github.com/javtube/javtube-sdk-go/internal/version"
|
V "github.com/javtube/metatube-sdk-go/internal/version"
|
||||||
"github.com/javtube/javtube-sdk-go/route"
|
"github.com/javtube/metatube-sdk-go/route"
|
||||||
"github.com/javtube/javtube-sdk-go/route/auth"
|
"github.com/javtube/metatube-sdk-go/route/auth"
|
||||||
)
|
)
|
||||||
|
|
||||||
const defaultRequestTimeout = time.Minute
|
const defaultRequestTimeout = time.Minute
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import (
|
|||||||
|
|
||||||
"github.com/hashicorp/go-retryablehttp"
|
"github.com/hashicorp/go-retryablehttp"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/random"
|
"github.com/javtube/metatube-sdk-go/common/random"
|
||||||
"github.com/javtube/javtube-sdk-go/errors"
|
"github.com/javtube/metatube-sdk-go/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
var DefaultFetcher = Default(&Config{RandomUserAgent: true})
|
var DefaultFetcher = Default(&Config{RandomUserAgent: true})
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package fetch
|
|||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/random"
|
"github.com/javtube/metatube-sdk-go/common/random"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Context is used for each request.
|
// Context is used for each request.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package m3u8
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/fetch"
|
"github.com/javtube/metatube-sdk-go/common/fetch"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestParseBestMediaURI(t *testing.T) {
|
func TestParseBestMediaURI(t *testing.T) {
|
||||||
|
|||||||
+23
-23
@@ -7,16 +7,16 @@ import (
|
|||||||
|
|
||||||
"gorm.io/gorm/clause"
|
"gorm.io/gorm/clause"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/comparer"
|
"github.com/javtube/metatube-sdk-go/common/comparer"
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/common/priority"
|
"github.com/javtube/metatube-sdk-go/common/priority"
|
||||||
"github.com/javtube/javtube-sdk-go/engine/internal/utils"
|
"github.com/javtube/metatube-sdk-go/engine/internal/utils"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
javtube "github.com/javtube/javtube-sdk-go/provider"
|
mt "github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/gfriends"
|
"github.com/javtube/metatube-sdk-go/provider/gfriends"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (e *Engine) searchActorFromDB(keyword string, provider javtube.Provider) (results []*model.ActorSearchResult, err error) {
|
func (e *Engine) searchActorFromDB(keyword string, provider mt.Provider) (results []*model.ActorSearchResult, err error) {
|
||||||
var infos []*model.ActorInfo
|
var infos []*model.ActorInfo
|
||||||
if err = e.db.
|
if err = e.db.
|
||||||
Where("provider = ? AND name = ? COLLATE NOCASE",
|
Where("provider = ? AND name = ? COLLATE NOCASE",
|
||||||
@@ -32,12 +32,12 @@ func (e *Engine) searchActorFromDB(keyword string, provider javtube.Provider) (r
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) searchActor(keyword string, provider javtube.Provider, fallback bool) ([]*model.ActorSearchResult, error) {
|
func (e *Engine) searchActor(keyword string, provider mt.Provider, fallback bool) ([]*model.ActorSearchResult, error) {
|
||||||
innerSearch := func(keyword string) (results []*model.ActorSearchResult, err error) {
|
innerSearch := func(keyword string) (results []*model.ActorSearchResult, err error) {
|
||||||
if provider.Name() == gfriends.Name {
|
if provider.Name() == gfriends.Name {
|
||||||
return provider.(javtube.ActorSearcher).SearchActor(keyword)
|
return provider.(mt.ActorSearcher).SearchActor(keyword)
|
||||||
}
|
}
|
||||||
if searcher, ok := provider.(javtube.ActorSearcher); ok {
|
if searcher, ok := provider.(mt.ActorSearcher); ok {
|
||||||
defer func() {
|
defer func() {
|
||||||
if err != nil || len(results) == 0 {
|
if err != nil || len(results) == 0 {
|
||||||
return // ignore error or empty.
|
return // ignore error or empty.
|
||||||
@@ -71,11 +71,11 @@ func (e *Engine) searchActor(keyword string, provider javtube.Provider, fallback
|
|||||||
return searcher.SearchActor(keyword)
|
return searcher.SearchActor(keyword)
|
||||||
}
|
}
|
||||||
// All providers should implement ActorSearcher interface.
|
// All providers should implement ActorSearcher interface.
|
||||||
return nil, javtube.ErrInfoNotFound
|
return nil, mt.ErrInfoNotFound
|
||||||
}
|
}
|
||||||
names := parser.ParseActorNames(keyword)
|
names := parser.ParseActorNames(keyword)
|
||||||
if len(names) == 0 {
|
if len(names) == 0 {
|
||||||
return nil, javtube.ErrInvalidKeyword
|
return nil, mt.ErrInvalidKeyword
|
||||||
}
|
}
|
||||||
var (
|
var (
|
||||||
results []*model.ActorSearchResult
|
results []*model.ActorSearchResult
|
||||||
@@ -85,7 +85,7 @@ func (e *Engine) searchActor(keyword string, provider javtube.Provider, fallback
|
|||||||
innerResults, innerErr := innerSearch(name)
|
innerResults, innerErr := innerSearch(name)
|
||||||
if innerErr != nil &&
|
if innerErr != nil &&
|
||||||
// ignore InfoNotFound error.
|
// ignore InfoNotFound error.
|
||||||
innerErr != javtube.ErrInfoNotFound {
|
innerErr != mt.ErrInfoNotFound {
|
||||||
// add error to chain and handle it later.
|
// add error to chain and handle it later.
|
||||||
errors = append(errors, innerErr)
|
errors = append(errors, innerErr)
|
||||||
continue
|
continue
|
||||||
@@ -96,7 +96,7 @@ func (e *Engine) searchActor(keyword string, provider javtube.Provider, fallback
|
|||||||
if len(errors) > 0 {
|
if len(errors) > 0 {
|
||||||
return nil, fmt.Errorf("search errors: %v", errors)
|
return nil, fmt.Errorf("search errors: %v", errors)
|
||||||
}
|
}
|
||||||
return nil, javtube.ErrInfoNotFound
|
return nil, mt.ErrInfoNotFound
|
||||||
}
|
}
|
||||||
return results, nil
|
return results, nil
|
||||||
}
|
}
|
||||||
@@ -116,7 +116,7 @@ func (e *Engine) SearchActorAll(keyword string, fallback bool) (results []*model
|
|||||||
)
|
)
|
||||||
for _, provider := range e.actorProviders {
|
for _, provider := range e.actorProviders {
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(provider javtube.ActorProvider) {
|
go func(provider mt.ActorProvider) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
if innerResults, innerErr := e.searchActor(keyword, provider, fallback); innerErr == nil {
|
if innerResults, innerErr := e.searchActor(keyword, provider, fallback); innerErr == nil {
|
||||||
for _, result := range innerResults {
|
for _, result := range innerResults {
|
||||||
@@ -138,7 +138,7 @@ func (e *Engine) SearchActorAll(keyword string, fallback bool) (results []*model
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) getActorInfoFromDB(provider javtube.ActorProvider, id string) (*model.ActorInfo, error) {
|
func (e *Engine) getActorInfoFromDB(provider mt.ActorProvider, id string) (*model.ActorInfo, error) {
|
||||||
info := &model.ActorInfo{}
|
info := &model.ActorInfo{}
|
||||||
err := e.db. // Exact match here.
|
err := e.db. // Exact match here.
|
||||||
Where("provider = ?", provider.Name()).
|
Where("provider = ?", provider.Name()).
|
||||||
@@ -147,11 +147,11 @@ func (e *Engine) getActorInfoFromDB(provider javtube.ActorProvider, id string) (
|
|||||||
return info, err
|
return info, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) getActorInfoWithCallback(provider javtube.ActorProvider, id string, lazy bool, callback func() (*model.ActorInfo, error)) (info *model.ActorInfo, err error) {
|
func (e *Engine) getActorInfoWithCallback(provider mt.ActorProvider, id string, lazy bool, callback func() (*model.ActorInfo, error)) (info *model.ActorInfo, err error) {
|
||||||
defer func() {
|
defer func() {
|
||||||
// metadata validation check.
|
// metadata validation check.
|
||||||
if err == nil && (info == nil || !info.Valid()) {
|
if err == nil && (info == nil || !info.Valid()) {
|
||||||
err = javtube.ErrIncompleteMetadata
|
err = mt.ErrIncompleteMetadata
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
if provider.Name() == gfriends.Name {
|
if provider.Name() == gfriends.Name {
|
||||||
@@ -183,9 +183,9 @@ func (e *Engine) getActorInfoWithCallback(provider javtube.ActorProvider, id str
|
|||||||
return callback()
|
return callback()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) getActorInfoByProviderID(provider javtube.ActorProvider, id string, lazy bool) (*model.ActorInfo, error) {
|
func (e *Engine) getActorInfoByProviderID(provider mt.ActorProvider, id string, lazy bool) (*model.ActorInfo, error) {
|
||||||
if id = provider.NormalizeID(id); id == "" {
|
if id = provider.NormalizeID(id); id == "" {
|
||||||
return nil, javtube.ErrInvalidID
|
return nil, mt.ErrInvalidID
|
||||||
}
|
}
|
||||||
return e.getActorInfoWithCallback(provider, id, lazy, func() (*model.ActorInfo, error) {
|
return e.getActorInfoWithCallback(provider, id, lazy, func() (*model.ActorInfo, error) {
|
||||||
return provider.GetActorInfoByID(id)
|
return provider.GetActorInfoByID(id)
|
||||||
@@ -200,13 +200,13 @@ func (e *Engine) GetActorInfoByProviderID(name, id string, lazy bool) (*model.Ac
|
|||||||
return e.getActorInfoByProviderID(provider, id, lazy)
|
return e.getActorInfoByProviderID(provider, id, lazy)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) getActorInfoByProviderURL(provider javtube.ActorProvider, rawURL string, lazy bool) (*model.ActorInfo, error) {
|
func (e *Engine) getActorInfoByProviderURL(provider mt.ActorProvider, rawURL string, lazy bool) (*model.ActorInfo, error) {
|
||||||
id, err := provider.ParseIDFromURL(rawURL)
|
id, err := provider.ParseIDFromURL(rawURL)
|
||||||
switch {
|
switch {
|
||||||
case err != nil:
|
case err != nil:
|
||||||
return nil, err
|
return nil, err
|
||||||
case id == "":
|
case id == "":
|
||||||
return nil, javtube.ErrInvalidURL
|
return nil, mt.ErrInvalidURL
|
||||||
}
|
}
|
||||||
return e.getActorInfoWithCallback(provider, id, lazy, func() (*model.ActorInfo, error) {
|
return e.getActorInfoWithCallback(provider, id, lazy, func() (*model.ActorInfo, error) {
|
||||||
return provider.GetActorInfoByURL(rawURL)
|
return provider.GetActorInfoByURL(rawURL)
|
||||||
|
|||||||
+30
-30
@@ -8,21 +8,21 @@ import (
|
|||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/fetch"
|
"github.com/javtube/metatube-sdk-go/common/fetch"
|
||||||
"github.com/javtube/javtube-sdk-go/database"
|
"github.com/javtube/metatube-sdk-go/database"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
javtube "github.com/javtube/javtube-sdk-go/provider"
|
mt "github.com/javtube/metatube-sdk-go/provider"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Engine struct {
|
type Engine struct {
|
||||||
db *gorm.DB
|
db *gorm.DB
|
||||||
fetcher *fetch.Fetcher
|
fetcher *fetch.Fetcher
|
||||||
// Name:Provider Map
|
// Name:Provider Map
|
||||||
actorProviders map[string]javtube.ActorProvider
|
actorProviders map[string]mt.ActorProvider
|
||||||
movieProviders map[string]javtube.MovieProvider
|
movieProviders map[string]mt.MovieProvider
|
||||||
// Host:Providers Map
|
// Host:Providers Map
|
||||||
actorHostProviders map[string][]javtube.ActorProvider
|
actorHostProviders map[string][]mt.ActorProvider
|
||||||
movieHostProviders map[string][]javtube.MovieProvider
|
movieHostProviders map[string][]mt.MovieProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(db *gorm.DB, timeout time.Duration) *Engine {
|
func New(db *gorm.DB, timeout time.Duration) *Engine {
|
||||||
@@ -48,12 +48,12 @@ func Default() *Engine {
|
|||||||
// initActorProviders initializes actor providers.
|
// initActorProviders initializes actor providers.
|
||||||
func (e *Engine) initActorProviders(timeout time.Duration) {
|
func (e *Engine) initActorProviders(timeout time.Duration) {
|
||||||
{ // init
|
{ // init
|
||||||
e.actorProviders = make(map[string]javtube.ActorProvider)
|
e.actorProviders = make(map[string]mt.ActorProvider)
|
||||||
e.actorHostProviders = make(map[string][]javtube.ActorProvider)
|
e.actorHostProviders = make(map[string][]mt.ActorProvider)
|
||||||
}
|
}
|
||||||
javtube.RangeActorFactory(func(name string, factory javtube.ActorFactory) {
|
mt.RangeActorFactory(func(name string, factory mt.ActorFactory) {
|
||||||
provider := factory()
|
provider := factory()
|
||||||
if s, ok := provider.(javtube.RequestTimeoutSetter); ok {
|
if s, ok := provider.(mt.RequestTimeoutSetter); ok {
|
||||||
s.SetRequestTimeout(timeout)
|
s.SetRequestTimeout(timeout)
|
||||||
}
|
}
|
||||||
// Add actor provider by name.
|
// Add actor provider by name.
|
||||||
@@ -67,12 +67,12 @@ func (e *Engine) initActorProviders(timeout time.Duration) {
|
|||||||
// initMovieProviders initializes movie providers.
|
// initMovieProviders initializes movie providers.
|
||||||
func (e *Engine) initMovieProviders(timeout time.Duration) {
|
func (e *Engine) initMovieProviders(timeout time.Duration) {
|
||||||
{ // init
|
{ // init
|
||||||
e.movieProviders = make(map[string]javtube.MovieProvider)
|
e.movieProviders = make(map[string]mt.MovieProvider)
|
||||||
e.movieHostProviders = make(map[string][]javtube.MovieProvider)
|
e.movieHostProviders = make(map[string][]mt.MovieProvider)
|
||||||
}
|
}
|
||||||
javtube.RangeMovieFactory(func(name string, factory javtube.MovieFactory) {
|
mt.RangeMovieFactory(func(name string, factory mt.MovieFactory) {
|
||||||
provider := factory()
|
provider := factory()
|
||||||
if s, ok := provider.(javtube.RequestTimeoutSetter); ok {
|
if s, ok := provider.(mt.RequestTimeoutSetter); ok {
|
||||||
s.SetRequestTimeout(timeout)
|
s.SetRequestTimeout(timeout)
|
||||||
}
|
}
|
||||||
// Add movie provider by name.
|
// Add movie provider by name.
|
||||||
@@ -88,11 +88,11 @@ func (e *Engine) IsActorProvider(name string) (ok bool) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) GetActorProviders() map[string]javtube.ActorProvider {
|
func (e *Engine) GetActorProviders() map[string]mt.ActorProvider {
|
||||||
return e.actorProviders
|
return e.actorProviders
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) GetActorProviderByURL(rawURL string) (javtube.ActorProvider, error) {
|
func (e *Engine) GetActorProviderByURL(rawURL string) (mt.ActorProvider, error) {
|
||||||
u, err := url.Parse(rawURL)
|
u, err := url.Parse(rawURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -102,18 +102,18 @@ func (e *Engine) GetActorProviderByURL(rawURL string) (javtube.ActorProvider, er
|
|||||||
return p, nil
|
return p, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil, javtube.ErrProviderNotFound
|
return nil, mt.ErrProviderNotFound
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) GetActorProviderByName(name string) (javtube.ActorProvider, error) {
|
func (e *Engine) GetActorProviderByName(name string) (mt.ActorProvider, error) {
|
||||||
provider, ok := e.actorProviders[strings.ToUpper(name)]
|
provider, ok := e.actorProviders[strings.ToUpper(name)]
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, javtube.ErrProviderNotFound
|
return nil, mt.ErrProviderNotFound
|
||||||
}
|
}
|
||||||
return provider, nil
|
return provider, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) MustGetActorProviderByName(name string) javtube.ActorProvider {
|
func (e *Engine) MustGetActorProviderByName(name string) mt.ActorProvider {
|
||||||
provider, err := e.GetActorProviderByName(name)
|
provider, err := e.GetActorProviderByName(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
@@ -126,11 +126,11 @@ func (e *Engine) IsMovieProvider(name string) (ok bool) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) GetMovieProviders() map[string]javtube.MovieProvider {
|
func (e *Engine) GetMovieProviders() map[string]mt.MovieProvider {
|
||||||
return e.movieProviders
|
return e.movieProviders
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) GetMovieProviderByURL(rawURL string) (javtube.MovieProvider, error) {
|
func (e *Engine) GetMovieProviderByURL(rawURL string) (mt.MovieProvider, error) {
|
||||||
u, err := url.Parse(rawURL)
|
u, err := url.Parse(rawURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -140,18 +140,18 @@ func (e *Engine) GetMovieProviderByURL(rawURL string) (javtube.MovieProvider, er
|
|||||||
return p, nil
|
return p, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil, javtube.ErrProviderNotFound
|
return nil, mt.ErrProviderNotFound
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) GetMovieProviderByName(name string) (javtube.MovieProvider, error) {
|
func (e *Engine) GetMovieProviderByName(name string) (mt.MovieProvider, error) {
|
||||||
provider, ok := e.movieProviders[strings.ToUpper(name)]
|
provider, ok := e.movieProviders[strings.ToUpper(name)]
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, javtube.ErrProviderNotFound
|
return nil, mt.ErrProviderNotFound
|
||||||
}
|
}
|
||||||
return provider, nil
|
return provider, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) MustGetMovieProviderByName(name string) javtube.MovieProvider {
|
func (e *Engine) MustGetMovieProviderByName(name string) mt.MovieProvider {
|
||||||
provider, err := e.GetMovieProviderByName(name)
|
provider, err := e.GetMovieProviderByName(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
@@ -177,10 +177,10 @@ func (e *Engine) AutoMigrate(v bool) error {
|
|||||||
|
|
||||||
// Fetch fetches content from url. If provider is nil, the
|
// Fetch fetches content from url. If provider is nil, the
|
||||||
// default fetcher will be used.
|
// default fetcher will be used.
|
||||||
func (e *Engine) Fetch(url string, provider javtube.Provider) (*http.Response, error) {
|
func (e *Engine) Fetch(url string, provider mt.Provider) (*http.Response, error) {
|
||||||
// Provider which implements Fetcher interface should be
|
// Provider which implements Fetcher interface should be
|
||||||
// used to fetch all its corresponding resources.
|
// used to fetch all its corresponding resources.
|
||||||
if fetcher, ok := provider.(javtube.Fetcher); ok {
|
if fetcher, ok := provider.(mt.Fetcher); ok {
|
||||||
return fetcher.Fetch(url)
|
return fetcher.Fetch(url)
|
||||||
}
|
}
|
||||||
return e.fetcher.Fetch(url)
|
return e.fetcher.Fetch(url)
|
||||||
|
|||||||
+9
-9
@@ -3,12 +3,12 @@ package engine
|
|||||||
import (
|
import (
|
||||||
"image"
|
"image"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/number"
|
"github.com/javtube/metatube-sdk-go/common/number"
|
||||||
R "github.com/javtube/javtube-sdk-go/constant"
|
R "github.com/javtube/metatube-sdk-go/constant"
|
||||||
"github.com/javtube/javtube-sdk-go/imageutil"
|
"github.com/javtube/metatube-sdk-go/imageutil"
|
||||||
"github.com/javtube/javtube-sdk-go/imageutil/pigo"
|
"github.com/javtube/metatube-sdk-go/imageutil/pigo"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
javtube "github.com/javtube/javtube-sdk-go/provider"
|
mt "github.com/javtube/metatube-sdk-go/provider"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Default position constants for different kind of images.
|
// Default position constants for different kind of images.
|
||||||
@@ -25,7 +25,7 @@ func (e *Engine) GetActorPrimaryImage(name, id string) (image.Image, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if len(info.Images) == 0 {
|
if len(info.Images) == 0 {
|
||||||
return nil, javtube.ErrImageNotFound
|
return nil, mt.ErrImageNotFound
|
||||||
}
|
}
|
||||||
return e.GetImageByURL(e.MustGetActorProviderByName(name), info.Images[0], R.PrimaryImageRatio, defaultActorPrimaryImagePosition, false)
|
return e.GetImageByURL(e.MustGetActorProviderByName(name), info.Images[0], R.PrimaryImageRatio, defaultActorPrimaryImagePosition, false)
|
||||||
}
|
}
|
||||||
@@ -62,7 +62,7 @@ func (e *Engine) GetMovieBackdropImage(name, id string) (image.Image, error) {
|
|||||||
return e.GetImageByURL(e.MustGetMovieProviderByName(name), url, R.BackdropImageRatio, defaultMovieBackdropImagePosition, false)
|
return e.GetImageByURL(e.MustGetMovieProviderByName(name), url, R.BackdropImageRatio, defaultMovieBackdropImagePosition, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) GetImageByURL(provider javtube.Provider, url string, ratio, pos float64, auto bool) (img image.Image, err error) {
|
func (e *Engine) GetImageByURL(provider mt.Provider, url string, ratio, pos float64, auto bool) (img image.Image, err error) {
|
||||||
if img, err = e.getImageByURL(provider, url); err != nil {
|
if img, err = e.getImageByURL(provider, url); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -72,7 +72,7 @@ func (e *Engine) GetImageByURL(provider javtube.Provider, url string, ratio, pos
|
|||||||
return imageutil.CropImagePosition(img, ratio, pos), nil
|
return imageutil.CropImagePosition(img, ratio, pos), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) getImageByURL(provider javtube.Provider, url string) (img image.Image, err error) {
|
func (e *Engine) getImageByURL(provider mt.Provider, url string) (img image.Image, err error) {
|
||||||
resp, err := e.Fetch(url, provider)
|
resp, err := e.Fetch(url, provider)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package utils
|
|||||||
import (
|
import (
|
||||||
"github.com/iancoleman/orderedmap"
|
"github.com/iancoleman/orderedmap"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ActorSearchResultSet struct {
|
type ActorSearchResultSet struct {
|
||||||
|
|||||||
+21
-21
@@ -5,15 +5,15 @@ import (
|
|||||||
|
|
||||||
"gorm.io/gorm/clause"
|
"gorm.io/gorm/clause"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/comparer"
|
"github.com/javtube/metatube-sdk-go/common/comparer"
|
||||||
"github.com/javtube/javtube-sdk-go/common/number"
|
"github.com/javtube/metatube-sdk-go/common/number"
|
||||||
"github.com/javtube/javtube-sdk-go/common/priority"
|
"github.com/javtube/metatube-sdk-go/common/priority"
|
||||||
"github.com/javtube/javtube-sdk-go/engine/internal/utils"
|
"github.com/javtube/metatube-sdk-go/engine/internal/utils"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
javtube "github.com/javtube/javtube-sdk-go/provider"
|
mt "github.com/javtube/metatube-sdk-go/provider"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (e *Engine) searchMovieFromDB(keyword string, provider javtube.MovieProvider, all bool) (results []*model.MovieSearchResult, err error) {
|
func (e *Engine) searchMovieFromDB(keyword string, provider mt.MovieProvider, all bool) (results []*model.MovieSearchResult, err error) {
|
||||||
var infos []*model.MovieInfo
|
var infos []*model.MovieInfo
|
||||||
tx := e.db.
|
tx := e.db.
|
||||||
// Note: keyword might be an ID or just a regular number, so we should
|
// Note: keyword might be an ID or just a regular number, so we should
|
||||||
@@ -40,11 +40,11 @@ func (e *Engine) searchMovieFromDB(keyword string, provider javtube.MovieProvide
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) searchMovie(keyword string, provider javtube.MovieProvider, fallback bool) (results []*model.MovieSearchResult, err error) {
|
func (e *Engine) searchMovie(keyword string, provider mt.MovieProvider, fallback bool) (results []*model.MovieSearchResult, err error) {
|
||||||
// Regular keyword searching.
|
// Regular keyword searching.
|
||||||
if searcher, ok := provider.(javtube.MovieSearcher); ok {
|
if searcher, ok := provider.(mt.MovieSearcher); ok {
|
||||||
if keyword = searcher.NormalizeKeyword(keyword); keyword == "" {
|
if keyword = searcher.NormalizeKeyword(keyword); keyword == "" {
|
||||||
return nil, javtube.ErrInvalidKeyword
|
return nil, mt.ErrInvalidKeyword
|
||||||
}
|
}
|
||||||
if fallback {
|
if fallback {
|
||||||
defer func() {
|
defer func() {
|
||||||
@@ -73,7 +73,7 @@ func (e *Engine) searchMovie(keyword string, provider javtube.MovieProvider, fal
|
|||||||
|
|
||||||
func (e *Engine) SearchMovie(keyword, name string, fallback bool) ([]*model.MovieSearchResult, error) {
|
func (e *Engine) SearchMovie(keyword, name string, fallback bool) ([]*model.MovieSearchResult, error) {
|
||||||
if keyword = number.Trim(keyword); keyword == "" {
|
if keyword = number.Trim(keyword); keyword == "" {
|
||||||
return nil, javtube.ErrInvalidKeyword
|
return nil, mt.ErrInvalidKeyword
|
||||||
}
|
}
|
||||||
provider, err := e.GetMovieProviderByName(name)
|
provider, err := e.GetMovieProviderByName(name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -93,7 +93,7 @@ func (e *Engine) searchMovieAll(keyword string) (results []*model.MovieSearchRes
|
|||||||
for _, provider := range e.movieProviders {
|
for _, provider := range e.movieProviders {
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
// Async searching.
|
// Async searching.
|
||||||
go func(provider javtube.MovieProvider) {
|
go func(provider mt.MovieProvider) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
innerResults, innerErr := e.searchMovie(keyword, provider, false)
|
innerResults, innerErr := e.searchMovie(keyword, provider, false)
|
||||||
respCh <- response{
|
respCh <- response{
|
||||||
@@ -121,7 +121,7 @@ func (e *Engine) searchMovieAll(keyword string) (results []*model.MovieSearchRes
|
|||||||
// SearchMovieAll searches the keyword from all providers.
|
// SearchMovieAll searches the keyword from all providers.
|
||||||
func (e *Engine) SearchMovieAll(keyword string, fallback bool) (results []*model.MovieSearchResult, err error) {
|
func (e *Engine) SearchMovieAll(keyword string, fallback bool) (results []*model.MovieSearchResult, err error) {
|
||||||
if keyword = number.Trim(keyword); keyword == "" {
|
if keyword = number.Trim(keyword); keyword == "" {
|
||||||
return nil, javtube.ErrInvalidKeyword
|
return nil, mt.ErrInvalidKeyword
|
||||||
}
|
}
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
@@ -129,7 +129,7 @@ func (e *Engine) SearchMovieAll(keyword string, fallback bool) (results []*model
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if len(results) == 0 {
|
if len(results) == 0 {
|
||||||
err = javtube.ErrInfoNotFound
|
err = mt.ErrInfoNotFound
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// remove duplicate results, if any.
|
// remove duplicate results, if any.
|
||||||
@@ -165,7 +165,7 @@ func (e *Engine) SearchMovieAll(keyword string, fallback bool) (results []*model
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) getMovieInfoFromDB(provider javtube.MovieProvider, id string) (*model.MovieInfo, error) {
|
func (e *Engine) getMovieInfoFromDB(provider mt.MovieProvider, id string) (*model.MovieInfo, error) {
|
||||||
info := &model.MovieInfo{}
|
info := &model.MovieInfo{}
|
||||||
err := e.db. // Exact match here.
|
err := e.db. // Exact match here.
|
||||||
Where("provider = ?", provider.Name()).
|
Where("provider = ?", provider.Name()).
|
||||||
@@ -174,11 +174,11 @@ func (e *Engine) getMovieInfoFromDB(provider javtube.MovieProvider, id string) (
|
|||||||
return info, err
|
return info, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) getMovieInfoWithCallback(provider javtube.MovieProvider, id string, lazy bool, callback func() (*model.MovieInfo, error)) (info *model.MovieInfo, err error) {
|
func (e *Engine) getMovieInfoWithCallback(provider mt.MovieProvider, id string, lazy bool, callback func() (*model.MovieInfo, error)) (info *model.MovieInfo, err error) {
|
||||||
defer func() {
|
defer func() {
|
||||||
// metadata validation check.
|
// metadata validation check.
|
||||||
if err == nil && (info == nil || !info.Valid()) {
|
if err == nil && (info == nil || !info.Valid()) {
|
||||||
err = javtube.ErrIncompleteMetadata
|
err = mt.ErrIncompleteMetadata
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
// Query DB first (by id).
|
// Query DB first (by id).
|
||||||
@@ -198,9 +198,9 @@ func (e *Engine) getMovieInfoWithCallback(provider javtube.MovieProvider, id str
|
|||||||
return callback()
|
return callback()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) getMovieInfoByProviderID(provider javtube.MovieProvider, id string, lazy bool) (*model.MovieInfo, error) {
|
func (e *Engine) getMovieInfoByProviderID(provider mt.MovieProvider, id string, lazy bool) (*model.MovieInfo, error) {
|
||||||
if id = provider.NormalizeID(id); id == "" {
|
if id = provider.NormalizeID(id); id == "" {
|
||||||
return nil, javtube.ErrInvalidID
|
return nil, mt.ErrInvalidID
|
||||||
}
|
}
|
||||||
return e.getMovieInfoWithCallback(provider, id, lazy, func() (*model.MovieInfo, error) {
|
return e.getMovieInfoWithCallback(provider, id, lazy, func() (*model.MovieInfo, error) {
|
||||||
return provider.GetMovieInfoByID(id)
|
return provider.GetMovieInfoByID(id)
|
||||||
@@ -215,13 +215,13 @@ func (e *Engine) GetMovieInfoByProviderID(name, id string, lazy bool) (*model.Mo
|
|||||||
return e.getMovieInfoByProviderID(provider, id, lazy)
|
return e.getMovieInfoByProviderID(provider, id, lazy)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *Engine) getMovieInfoByProviderURL(provider javtube.MovieProvider, rawURL string, lazy bool) (*model.MovieInfo, error) {
|
func (e *Engine) getMovieInfoByProviderURL(provider mt.MovieProvider, rawURL string, lazy bool) (*model.MovieInfo, error) {
|
||||||
id, err := provider.ParseIDFromURL(rawURL)
|
id, err := provider.ParseIDFromURL(rawURL)
|
||||||
switch {
|
switch {
|
||||||
case err != nil:
|
case err != nil:
|
||||||
return nil, err
|
return nil, err
|
||||||
case id == "":
|
case id == "":
|
||||||
return nil, javtube.ErrInvalidURL
|
return nil, mt.ErrInvalidURL
|
||||||
}
|
}
|
||||||
return e.getMovieInfoWithCallback(provider, id, lazy, func() (*model.MovieInfo, error) {
|
return e.getMovieInfoWithCallback(provider, id, lazy, func() (*model.MovieInfo, error) {
|
||||||
return provider.GetMovieInfoByURL(rawURL)
|
return provider.GetMovieInfoByURL(rawURL)
|
||||||
|
|||||||
+33
-33
@@ -2,37 +2,37 @@ package engine
|
|||||||
|
|
||||||
// Register Providers
|
// Register Providers
|
||||||
import (
|
import (
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/10musume"
|
_ "github.com/javtube/metatube-sdk-go/provider/10musume"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/1pondo"
|
_ "github.com/javtube/metatube-sdk-go/provider/1pondo"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/airav"
|
_ "github.com/javtube/metatube-sdk-go/provider/airav"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/arzon"
|
_ "github.com/javtube/metatube-sdk-go/provider/arzon"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/aventertainments"
|
_ "github.com/javtube/metatube-sdk-go/provider/aventertainments"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/avwiki"
|
_ "github.com/javtube/metatube-sdk-go/provider/avwiki"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/c0930"
|
_ "github.com/javtube/metatube-sdk-go/provider/c0930"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/caribbeancom"
|
_ "github.com/javtube/metatube-sdk-go/provider/caribbeancom"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/caribbeancompr"
|
_ "github.com/javtube/metatube-sdk-go/provider/caribbeancompr"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/duga"
|
_ "github.com/javtube/metatube-sdk-go/provider/duga"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/fanza"
|
_ "github.com/javtube/metatube-sdk-go/provider/fanza"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/fc2"
|
_ "github.com/javtube/metatube-sdk-go/provider/fc2"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/fc2hub"
|
_ "github.com/javtube/metatube-sdk-go/provider/fc2hub"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/gcolle"
|
_ "github.com/javtube/metatube-sdk-go/provider/gcolle"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/getchu"
|
_ "github.com/javtube/metatube-sdk-go/provider/getchu"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/gfriends"
|
_ "github.com/javtube/metatube-sdk-go/provider/gfriends"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/h0930"
|
_ "github.com/javtube/metatube-sdk-go/provider/h0930"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/h4610"
|
_ "github.com/javtube/metatube-sdk-go/provider/h4610"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/heydouga"
|
_ "github.com/javtube/metatube-sdk-go/provider/heydouga"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/heyzo"
|
_ "github.com/javtube/metatube-sdk-go/provider/heyzo"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/jav321"
|
_ "github.com/javtube/metatube-sdk-go/provider/jav321"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/javbus"
|
_ "github.com/javtube/metatube-sdk-go/provider/javbus"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/kin8tengoku"
|
_ "github.com/javtube/metatube-sdk-go/provider/kin8tengoku"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/mgstage"
|
_ "github.com/javtube/metatube-sdk-go/provider/mgstage"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/muramura"
|
_ "github.com/javtube/metatube-sdk-go/provider/muramura"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/mywife"
|
_ "github.com/javtube/metatube-sdk-go/provider/mywife"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/pacopacomama"
|
_ "github.com/javtube/metatube-sdk-go/provider/pacopacomama"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/pcolle"
|
_ "github.com/javtube/metatube-sdk-go/provider/pcolle"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/prestige"
|
_ "github.com/javtube/metatube-sdk-go/provider/prestige"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/sod"
|
_ "github.com/javtube/metatube-sdk-go/provider/sod"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/tokyo-hot"
|
_ "github.com/javtube/metatube-sdk-go/provider/tokyo-hot"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/xslist"
|
_ "github.com/javtube/metatube-sdk-go/provider/xslist"
|
||||||
_ "github.com/javtube/javtube-sdk-go/provider/xxx-av"
|
_ "github.com/javtube/metatube-sdk-go/provider/xxx-av"
|
||||||
)
|
)
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
module github.com/javtube/javtube-sdk-go
|
module github.com/javtube/metatube-sdk-go
|
||||||
|
|
||||||
go 1.19
|
go 1.19
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ import (
|
|||||||
|
|
||||||
"github.com/jellydator/ttlcache/v3"
|
"github.com/jellydator/ttlcache/v3"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/fetch"
|
"github.com/javtube/metatube-sdk-go/common/fetch"
|
||||||
"github.com/javtube/javtube-sdk-go/imageutil"
|
"github.com/javtube/metatube-sdk-go/imageutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package tenmusume
|
|||||||
import (
|
import (
|
||||||
"regexp"
|
"regexp"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/1pondo/core"
|
"github.com/javtube/metatube-sdk-go/provider/1pondo/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*TenMusume)(nil)
|
var _ provider.MovieProvider = (*TenMusume)(nil)
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package onepondo
|
|||||||
import (
|
import (
|
||||||
"regexp"
|
"regexp"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/1pondo/core"
|
"github.com/javtube/metatube-sdk-go/provider/1pondo/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*OnePondo)(nil)
|
var _ provider.MovieProvider = (*OnePondo)(nil)
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"github.com/nlnwa/whatwg-url/url"
|
"github.com/nlnwa/whatwg-url/url"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
// API Paths
|
// API Paths
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ import (
|
|||||||
|
|
||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -10,12 +10,12 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/fetch"
|
"github.com/javtube/metatube-sdk-go/common/fetch"
|
||||||
"github.com/javtube/javtube-sdk-go/common/number"
|
"github.com/javtube/metatube-sdk-go/common/number"
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -10,11 +10,11 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/number"
|
"github.com/javtube/metatube-sdk-go/common/number"
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
+11
-11
@@ -12,17 +12,17 @@ import (
|
|||||||
|
|
||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/number"
|
"github.com/javtube/metatube-sdk-go/common/number"
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/common/singledo"
|
"github.com/javtube/metatube-sdk-go/common/singledo"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/duga"
|
"github.com/javtube/metatube-sdk-go/provider/duga"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/fanza"
|
"github.com/javtube/metatube-sdk-go/provider/fanza"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/getchu"
|
"github.com/javtube/metatube-sdk-go/provider/getchu"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/mgstage"
|
"github.com/javtube/metatube-sdk-go/provider/mgstage"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/pcolle"
|
"github.com/javtube/metatube-sdk-go/provider/pcolle"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import (
|
|||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/h0930/core"
|
"github.com/javtube/metatube-sdk-go/provider/h0930/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*C0930)(nil)
|
var _ provider.MovieProvider = (*C0930)(nil)
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package caribbeancom
|
|||||||
import (
|
import (
|
||||||
"regexp"
|
"regexp"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/caribbeancom/core"
|
"github.com/javtube/metatube-sdk-go/provider/caribbeancom/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*Caribbeancom)(nil)
|
var _ provider.MovieProvider = (*Caribbeancom)(nil)
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Core struct {
|
type Core struct {
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package caribbeancompr
|
|||||||
import (
|
import (
|
||||||
"regexp"
|
"regexp"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/caribbeancom/core"
|
"github.com/javtube/metatube-sdk-go/provider/caribbeancom/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*CaribbeancomPremium)(nil)
|
var _ provider.MovieProvider = (*CaribbeancomPremium)(nil)
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ import (
|
|||||||
|
|
||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/number"
|
"github.com/javtube/metatube-sdk-go/common/number"
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ package provider
|
|||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/errors"
|
"github.com/javtube/metatube-sdk-go/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -17,13 +17,13 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/comparer"
|
"github.com/javtube/metatube-sdk-go/common/comparer"
|
||||||
"github.com/javtube/javtube-sdk-go/common/number"
|
"github.com/javtube/metatube-sdk-go/common/number"
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/imhelper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/imhelper"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
+4
-4
@@ -9,10 +9,10 @@ import (
|
|||||||
|
|
||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*FC2)(nil)
|
var _ provider.MovieProvider = (*FC2)(nil)
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/fc2"
|
"github.com/javtube/metatube-sdk-go/provider/fc2"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ import (
|
|||||||
|
|
||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*Gcolle)(nil)
|
var _ provider.MovieProvider = (*Gcolle)(nil)
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*Getchu)(nil)
|
var _ provider.MovieProvider = (*Getchu)(nil)
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ import (
|
|||||||
|
|
||||||
"github.com/iancoleman/orderedmap"
|
"github.com/iancoleman/orderedmap"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/fetch"
|
"github.com/javtube/metatube-sdk-go/common/fetch"
|
||||||
"github.com/javtube/javtube-sdk-go/common/reverse"
|
"github.com/javtube/metatube-sdk-go/common/reverse"
|
||||||
"github.com/javtube/javtube-sdk-go/common/singledo"
|
"github.com/javtube/metatube-sdk-go/common/singledo"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ import (
|
|||||||
|
|
||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Core struct {
|
type Core struct {
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import (
|
|||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/h0930/core"
|
"github.com/javtube/metatube-sdk-go/provider/h0930/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*H0930)(nil)
|
var _ provider.MovieProvider = (*H0930)(nil)
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import (
|
|||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/h0930/core"
|
"github.com/javtube/metatube-sdk-go/provider/h0930/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*H4610)(nil)
|
var _ provider.MovieProvider = (*H4610)(nil)
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*HeyDouga)(nil)
|
var _ provider.MovieProvider = (*HeyDouga)(nil)
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ import (
|
|||||||
|
|
||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/m3u8"
|
"github.com/javtube/metatube-sdk-go/common/m3u8"
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*Heyzo)(nil)
|
var _ provider.MovieProvider = (*Heyzo)(nil)
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ import (
|
|||||||
"math"
|
"math"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/fetch"
|
"github.com/javtube/metatube-sdk-go/common/fetch"
|
||||||
"github.com/javtube/javtube-sdk-go/imageutil"
|
"github.com/javtube/metatube-sdk-go/imageutil"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
)
|
)
|
||||||
|
|
||||||
var imageFetcher = fetch.Default(nil)
|
var imageFetcher = fetch.Default(nil)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"github.com/gocolly/colly/v2/debug"
|
"github.com/gocolly/colly/v2/debug"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/random"
|
"github.com/javtube/metatube-sdk-go/common/random"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Option func(*Scraper) error
|
type Option func(*Scraper) error
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
|
|
||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.Provider = (*Scraper)(nil)
|
var _ provider.Provider = (*Scraper)(nil)
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/number"
|
"github.com/javtube/metatube-sdk-go/common/number"
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ import (
|
|||||||
|
|
||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/number"
|
"github.com/javtube/metatube-sdk-go/common/number"
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -14,10 +14,10 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*KIN8)(nil)
|
var _ provider.MovieProvider = (*KIN8)(nil)
|
||||||
|
|||||||
@@ -14,11 +14,11 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/number"
|
"github.com/javtube/metatube-sdk-go/common/number"
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package muramura
|
|||||||
import (
|
import (
|
||||||
"regexp"
|
"regexp"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/1pondo/core"
|
"github.com/javtube/metatube-sdk-go/provider/1pondo/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*MuraMura)(nil)
|
var _ provider.MovieProvider = (*MuraMura)(nil)
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ import (
|
|||||||
|
|
||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*MyWife)(nil)
|
var _ provider.MovieProvider = (*MyWife)(nil)
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package pacopacomama
|
|||||||
import (
|
import (
|
||||||
"regexp"
|
"regexp"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/1pondo/core"
|
"github.com/javtube/metatube-sdk-go/provider/1pondo/core"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*Pacopacomama)(nil)
|
var _ provider.MovieProvider = (*Pacopacomama)(nil)
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*Pcolle)(nil)
|
var _ provider.MovieProvider = (*Pcolle)(nil)
|
||||||
|
|||||||
@@ -12,11 +12,11 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/number"
|
"github.com/javtube/metatube-sdk-go/common/number"
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/url"
|
"net/url"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Provider interface {
|
type Provider interface {
|
||||||
|
|||||||
+6
-6
@@ -9,12 +9,12 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/fetch"
|
"github.com/javtube/metatube-sdk-go/common/fetch"
|
||||||
"github.com/javtube/javtube-sdk-go/common/number"
|
"github.com/javtube/metatube-sdk-go/common/number"
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -12,10 +12,10 @@ import (
|
|||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
dt "gorm.io/datatypes"
|
dt "gorm.io/datatypes"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -12,10 +12,10 @@ import (
|
|||||||
"github.com/gocolly/colly/v2"
|
"github.com/gocolly/colly/v2"
|
||||||
"golang.org/x/net/html"
|
"golang.org/x/net/html"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/parser"
|
"github.com/javtube/metatube-sdk-go/common/parser"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
"github.com/javtube/javtube-sdk-go/provider"
|
"github.com/javtube/metatube-sdk-go/provider"
|
||||||
"github.com/javtube/javtube-sdk-go/provider/internal/scraper"
|
"github.com/javtube/metatube-sdk-go/provider/internal/scraper"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ provider.MovieProvider = (*TripleX)(nil)
|
var _ provider.MovieProvider = (*TripleX)(nil)
|
||||||
|
|||||||
+2
-2
@@ -6,8 +6,8 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/errors"
|
"github.com/javtube/metatube-sdk-go/errors"
|
||||||
"github.com/javtube/javtube-sdk-go/route/auth"
|
"github.com/javtube/metatube-sdk-go/route/auth"
|
||||||
)
|
)
|
||||||
|
|
||||||
func authentication(v auth.Validator) gin.HandlerFunc {
|
func authentication(v auth.Validator) gin.HandlerFunc {
|
||||||
|
|||||||
+8
-8
@@ -10,10 +10,10 @@ import (
|
|||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/gin-gonic/gin/render"
|
"github.com/gin-gonic/gin/render"
|
||||||
|
|
||||||
R "github.com/javtube/javtube-sdk-go/constant"
|
R "github.com/javtube/metatube-sdk-go/constant"
|
||||||
"github.com/javtube/javtube-sdk-go/engine"
|
"github.com/javtube/metatube-sdk-go/engine"
|
||||||
"github.com/javtube/javtube-sdk-go/imageutil/badge"
|
"github.com/javtube/metatube-sdk-go/imageutil/badge"
|
||||||
javtube "github.com/javtube/javtube-sdk-go/provider"
|
mt "github.com/javtube/metatube-sdk-go/provider"
|
||||||
)
|
)
|
||||||
|
|
||||||
type imageType uint8
|
type imageType uint8
|
||||||
@@ -73,7 +73,7 @@ func getImage(app *engine.Engine, typ imageType) gin.HandlerFunc {
|
|||||||
case app.IsMovieProvider(uri.Provider):
|
case app.IsMovieProvider(uri.Provider):
|
||||||
isActorProvider = false
|
isActorProvider = false
|
||||||
default:
|
default:
|
||||||
abortWithError(c, javtube.ErrProviderNotFound)
|
abortWithError(c, mt.ErrProviderNotFound)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ func getImage(app *engine.Engine, typ imageType) gin.HandlerFunc {
|
|||||||
err error
|
err error
|
||||||
)
|
)
|
||||||
if query.URL != "" /* specified URL */ {
|
if query.URL != "" /* specified URL */ {
|
||||||
var provider javtube.Provider
|
var provider mt.Provider
|
||||||
if isActorProvider {
|
if isActorProvider {
|
||||||
provider = app.MustGetActorProviderByName(uri.Provider)
|
provider = app.MustGetActorProviderByName(uri.Provider)
|
||||||
} else {
|
} else {
|
||||||
@@ -123,8 +123,8 @@ func getImage(app *engine.Engine, typ imageType) gin.HandlerFunc {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
c.Header("X-JavTube-Image-Width", strconv.Itoa(img.Bounds().Dx()))
|
c.Header("X-MetaTube-Image-Width", strconv.Itoa(img.Bounds().Dx()))
|
||||||
c.Header("X-JavTube-Image-Height", strconv.Itoa(img.Bounds().Dy()))
|
c.Header("X-MetaTube-Image-Height", strconv.Itoa(img.Bounds().Dy()))
|
||||||
|
|
||||||
buf := &bytes.Buffer{}
|
buf := &bytes.Buffer{}
|
||||||
if err = jpeg.Encode(buf, img, &jpeg.Options{Quality: query.Quality}); err != nil {
|
if err = jpeg.Encode(buf, img, &jpeg.Options{Quality: query.Quality}); err != nil {
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/engine"
|
"github.com/javtube/metatube-sdk-go/engine"
|
||||||
)
|
)
|
||||||
|
|
||||||
type infoType uint8
|
type infoType uint8
|
||||||
|
|||||||
+4
-4
@@ -6,9 +6,9 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/engine"
|
"github.com/javtube/metatube-sdk-go/engine"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
javtube "github.com/javtube/javtube-sdk-go/provider"
|
mt "github.com/javtube/metatube-sdk-go/provider"
|
||||||
)
|
)
|
||||||
|
|
||||||
func redirect(app *engine.Engine) gin.HandlerFunc {
|
func redirect(app *engine.Engine) gin.HandlerFunc {
|
||||||
@@ -36,7 +36,7 @@ func redirect(app *engine.Engine) gin.HandlerFunc {
|
|||||||
case app.IsMovieProvider(provider):
|
case app.IsMovieProvider(provider):
|
||||||
info, err = app.GetMovieInfoByProviderID(provider, id, true)
|
info, err = app.GetMovieInfoByProviderID(provider, id, true)
|
||||||
default:
|
default:
|
||||||
abortWithError(c, javtube.ErrProviderNotFound)
|
abortWithError(c, mt.ErrProviderNotFound)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
+5
-5
@@ -6,10 +6,10 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/engine"
|
"github.com/javtube/metatube-sdk-go/engine"
|
||||||
"github.com/javtube/javtube-sdk-go/errors"
|
"github.com/javtube/metatube-sdk-go/errors"
|
||||||
V "github.com/javtube/javtube-sdk-go/internal/version"
|
V "github.com/javtube/metatube-sdk-go/internal/version"
|
||||||
"github.com/javtube/javtube-sdk-go/route/auth"
|
"github.com/javtube/metatube-sdk-go/route/auth"
|
||||||
)
|
)
|
||||||
|
|
||||||
func New(app *engine.Engine, v auth.Validator) *gin.Engine {
|
func New(app *engine.Engine, v auth.Validator) *gin.Engine {
|
||||||
@@ -88,7 +88,7 @@ func getIndex() gin.HandlerFunc {
|
|||||||
return func(c *gin.Context) {
|
return func(c *gin.Context) {
|
||||||
c.JSON(http.StatusOK, &responseMessage{
|
c.JSON(http.StatusOK, &responseMessage{
|
||||||
Data: gin.H{
|
Data: gin.H{
|
||||||
"app": "javtube",
|
"app": "metatube",
|
||||||
"commit": V.GitCommit,
|
"commit": V.GitCommit,
|
||||||
"version": V.Version,
|
"version": V.Version,
|
||||||
},
|
},
|
||||||
|
|||||||
+3
-3
@@ -6,9 +6,9 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/engine"
|
"github.com/javtube/metatube-sdk-go/engine"
|
||||||
"github.com/javtube/javtube-sdk-go/errors"
|
"github.com/javtube/metatube-sdk-go/errors"
|
||||||
"github.com/javtube/javtube-sdk-go/model"
|
"github.com/javtube/metatube-sdk-go/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
type searchType uint8
|
type searchType uint8
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@ import (
|
|||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/translate"
|
"github.com/javtube/metatube-sdk-go/translate"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/fetch"
|
"github.com/javtube/metatube-sdk-go/common/fetch"
|
||||||
)
|
)
|
||||||
|
|
||||||
const baiduTranslateAPI = "https://api.fanyi.baidu.com/api/trans/vip/translate"
|
const baiduTranslateAPI = "https://api.fanyi.baidu.com/api/trans/vip/translate"
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/fetch"
|
"github.com/javtube/metatube-sdk-go/common/fetch"
|
||||||
)
|
)
|
||||||
|
|
||||||
const deeplTranslateAPI = "https://api-free.deepl.com/v2/translate"
|
const deeplTranslateAPI = "https://api-free.deepl.com/v2/translate"
|
||||||
|
|||||||
+2
-2
@@ -7,8 +7,8 @@ import (
|
|||||||
|
|
||||||
"golang.org/x/text/language"
|
"golang.org/x/text/language"
|
||||||
|
|
||||||
"github.com/javtube/javtube-sdk-go/common/fetch"
|
"github.com/javtube/metatube-sdk-go/common/fetch"
|
||||||
"github.com/javtube/javtube-sdk-go/errors"
|
"github.com/javtube/metatube-sdk-go/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
const googleTranslateAPI = "https://translation.googleapis.com/language/translate/v2"
|
const googleTranslateAPI = "https://translation.googleapis.com/language/translate/v2"
|
||||||
|
|||||||
Reference in new issue
Block a user