Skip to content

Commit

Permalink
Fixes #126 and #125
Browse files Browse the repository at this point in the history
  • Loading branch information
Girbons committed Jan 3, 2023
1 parent cf7acd0 commit 4b22d09
Show file tree
Hide file tree
Showing 8 changed files with 71 additions and 52 deletions.
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
[Changes][v0.33.4]
<a name="v0.33.4"></a>

# [0.33.4 (v0.33.4)](https://github.com/Girbons/comics-downloader/releases/tag/v0.33.3) - 3 Jan 2023

# Fixes

- #125: Added new comicextra domain by @bhm.
- #126: Fixed -all argument for readallcomics.

[Changes][v0.33.3]
<a name="v0.33.3"></a>

Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,17 +23,17 @@

Download the latest release:

- [Linux](https://github.com/Girbons/comics-downloader/releases/download/v0.33.3/comics-downloader)
- [Mac OSX](https://github.com/Girbons/comics-downloader/releases/download/v0.33.3/comics-downloader-osx)
- [Windows](https://github.com/Girbons/comics-downloader/releases/download/v0.33.3/comics-downloader.exe)
- [Linux ARM](https://github.com/Girbons/comics-downloader/releases/download/v0.33.3/comics-downloader-linux-arm)
- [Linux ARM64](https://github.com/Girbons/comics-downloader/releases/download/v0.33.3/comics-downloader-linux-arm64)
- [Linux](https://github.com/Girbons/comics-downloader/releases/download/v0.33.4/comics-downloader)
- [Mac OSX](https://github.com/Girbons/comics-downloader/releases/download/v0.33.4/comics-downloader-osx)
- [Windows](https://github.com/Girbons/comics-downloader/releases/download/v0.33.4/comics-downloader.exe)
- [Linux ARM](https://github.com/Girbons/comics-downloader/releases/download/v0.33.4/comics-downloader-linux-arm)
- [Linux ARM64](https://github.com/Girbons/comics-downloader/releases/download/v0.33.4/comics-downloader-linux-arm64)

Download the latest GUI release:

- [Linux](https://github.com/Girbons/comics-downloader/releases/download/v0.33.3/comics-downloader-gui)
- [Mac OSX](https://github.com/Girbons/comics-downloader/releases/download/v0.33.3/comics-downloader-gui-osx)
- [Windows](https://github.com/Girbons/comics-downloader/releases/download/v0.33.3/comics-downloader-gui-windows.exe)
- [Linux](https://github.com/Girbons/comics-downloader/releases/download/v0.33.4/comics-downloader-gui)
- [Mac OSX](https://github.com/Girbons/comics-downloader/releases/download/v0.33.4/comics-downloader-gui-osx)
- [Windows](https://github.com/Girbons/comics-downloader/releases/download/v0.33.4/comics-downloader-gui-windows.exe)

## Usage

Expand Down
7 changes: 3 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,11 @@ require (
github.com/schollz/progressbar/v2 v2.15.0
github.com/sirupsen/logrus v1.8.1
github.com/stretchr/testify v1.7.0
golang.org/x/mod v0.5.1
golang.org/x/mod v0.6.0
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
)

require (
github.com/darylhjd/mangodex v0.0.0-20211231093527-e4a91c518fa0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dsnet/compress v0.0.1 // indirect
github.com/frankban/quicktest v1.14.0 // indirect
Expand All @@ -31,7 +30,7 @@ require (
github.com/gofrs/uuid v3.1.0+incompatible // indirect
github.com/goki/freetype v0.0.0-20181231101311-fa8a33aabaff // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/go-cmp v0.5.6 // indirect
github.com/google/go-cmp v0.5.8 // indirect
github.com/google/go-querystring v1.1.0 // indirect
github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect
github.com/nwaples/rardecode v1.1.2 // indirect
Expand All @@ -44,7 +43,7 @@ require (
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
golang.org/x/image v0.0.0-20200430140353-33d19683fad8 // indirect
golang.org/x/net v0.0.0-20210505024714-0287a6fb4125 // indirect
golang.org/x/sys v0.0.0-20210423082822-04245dca01da // indirect
golang.org/x/sys v0.1.0 // indirect
golang.org/x/text v0.3.6 // indirect
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect
)
13 changes: 6 additions & 7 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ github.com/bmaupin/go-epub v0.10.0 h1:KuOrBGE72frtaDDb2j7NyryO1In3Wsdmtm8o0/K8mF
github.com/bmaupin/go-epub v0.10.0/go.mod h1:mBan+0WgVv5JbPNw1xfnfQoTRN9iPMKBshZwPOL0SY0=
github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/darylhjd/mangodex v0.0.0-20211231093527-e4a91c518fa0 h1:yi35YUun+KDGbTJv2r0IpM91Lq65msUhANU3Q/xr2Xc=
github.com/darylhjd/mangodex v0.0.0-20211231093527-e4a91c518fa0/go.mod h1:RApCWGRbVd11wQMLhiZ1ejybkf1C4CS6rMANQlog8B0=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
Expand Down Expand Up @@ -39,8 +37,9 @@ github.com/goki/freetype v0.0.0-20181231101311-fa8a33aabaff/go.mod h1:wfqRWLHRBs
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY=
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
Expand Down Expand Up @@ -112,8 +111,8 @@ golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+o
golang.org/x/image v0.0.0-20200430140353-33d19683fad8 h1:6WW6V3x1P/jokJBpRQYUJnMHRP6isStQwCozxnU7XQw=
golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38=
golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I=
golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
Expand All @@ -132,8 +131,9 @@ golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200720211630-cb9d2d5c5666/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da h1:b3NXsE2LusjYGGjL5bxEVZZORm/YEFFrWFjR8eFrw/c=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
Expand All @@ -145,7 +145,6 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn
golang.org/x/tools v0.0.0-20200328031815-3db5fc6bac03/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
Expand Down
2 changes: 1 addition & 1 deletion internal/version/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (

// Tag specifies the current release tag.
// It needs to be manually updated.
const Tag = "v0.33.3"
const Tag = "v0.33.4"

// IsNewAvailable will fetch the latest project releases
// and will compare the latest release Tag against the current Tag.
Expand Down
1 change: 1 addition & 0 deletions pkg/detector/detector.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ var SupportedSites = map[string]map[string]bool{
"readcomiconline.li": {"isDisabled": false},
"readcomicsonline.ru": {"isDisabled": false},
"www.comicextra.com": {"isDisabled": false},
"ww1.comicextra.com": {"isDisabled": false},
"www.mangahere.cc": {"isDisabled": false},
"www.mangatown.com": {"isDisabled": false},
"mangakakalot.com": {"isDisabled": false},
Expand Down
5 changes: 1 addition & 4 deletions pkg/sites/loader.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import (
"github.com/Girbons/comics-downloader/pkg/config"
"github.com/Girbons/comics-downloader/pkg/core"
"github.com/Girbons/comics-downloader/pkg/util"
"golang.org/x/exp/slices"
)

func initializeCollection(issues []string, options *config.Options, base BaseSite) ([]*core.Comic, error) {
Expand Down Expand Up @@ -87,8 +86,6 @@ func notInIssuesRange(issueNumber string, start, end float64) bool {

// LoadComicFromSource will return an `comic` instance initialized based on the source
func LoadComicFromSource(options *config.Options) ([]*core.Comic, error) {
// this probably needs to land in the comicextra.go
const supportedComicExtra := []string{"ww1.comciextra.com", "www.comicextra.com"}
var (
base BaseSite
issues []string
Expand All @@ -99,7 +96,7 @@ func LoadComicFromSource(options *config.Options) ([]*core.Comic, error) {
switch sourceUrl := options.Source; sourceUrl {
case "readcomiconline.li":
base = NewReadComiconline(options)
case supportedComicExtra.contains(soureUrl):
case "ww1.comicextra.com", "www.comicextra.com":
base = NewComicextra(options)
case "mangareader.tv":
base = NewMangareader(options)
Expand Down
69 changes: 41 additions & 28 deletions pkg/sites/readallcomics.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import (
"github.com/anaskhan96/soup"
)

const DefaultUrl string = "https://readallcomics.com"

// Readallcomics represents a Readallcomics instance.
type Readallcomics struct {
options *config.Options
Expand Down Expand Up @@ -57,51 +59,62 @@ func (r *Readallcomics) getIssues(url string) ([]string, error) {
return nil, err
}

// html tag to be extracted.
tagToExtract := "a"
// html tag value to be extracted.
tagValueToExtract := "href"
// retrieve links from main comic page.
doc := soup.HTMLParse(response)
// apply default strategy to get issues link
chapters := doc.Find("ul", "class", "list-story")

if chapters.Error != nil {
// retrieve links from comic page.
chapters = doc.Find("select", "id", "selectbox")
tagToExtract = "option"
tagValueToExtract = "value"
}

for _, chapter := range chapters.FindAll(tagToExtract) {
issueUrl := chapter.Attrs()[tagValueToExtract]
if util.IsURLValid(issueUrl) {
links = append(links, issueUrl)
if strings.Contains(url, "category") {
chapters := doc.Find("ul", "class", "list-story").FindAll("a")
for _, chapter := range chapters {
issueUrl := chapter.Attrs()["href"]
if util.IsURLValid(issueUrl) {
links = append(links, issueUrl)
}

}
} else {
chapters := doc.Find("select", "id", "selectbox").FindAll("option")
for _, chapter := range chapters {
issueUrl := chapter.Attrs()["value"]
if util.IsURLValid(issueUrl) {
links = append(links, issueUrl)
}
}
}

if r.options.Debug {
r.options.Logger.Debug(fmt.Sprintf("Image Links found: %s", strings.Join(links, " ")))
}

return links, nil
}

// RetrieveIssueLinks retrieves the links to all the issue.
func (r *Readallcomics) RetrieveIssueLinks() ([]string, error) {
url := r.options.URL

chapters, err := r.getIssues(url)
if r.options.All || r.options.Last {

if err != nil {
return nil, err
}
if (r.options.All || r.options.Last) && !strings.Contains(url, "category") {
// override url to retrieve chapters
comicName := strings.Join(strings.Split(url, "/")[3:], "")
url = fmt.Sprintf("%s/category/%s", DefaultUrl, comicName)
}

if r.options.Last {
return []string{chapters[len(chapters)-1]}, nil
}
chapters, err := r.getIssues(url)
if err != nil {
return nil, err
}

if r.options.Last {
return []string{chapters[len(chapters)-1]}, nil
}

if r.options.All && len(chapters) == 1 {
return []string{chapters[0]}, err
if r.options.All && len(chapters) == 1 {
return []string{chapters[0]}, err
}
return chapters, err
}

return chapters, err
return []string{url}, nil
}

// GetInfo extracts the comic info from the given URL.
Expand Down

0 comments on commit 4b22d09

Please sign in to comment.