Skip to content

Commit a25886d

Browse files
committed
fixed issue #10 and refactored
1 parent 286083d commit a25886d

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

bcdl.go

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -677,12 +677,16 @@ func userPageLinkGen(releaseLink string) {
677677

678678
// Finds out what type of release the link is
679679
func checkReleaseAvailability(link string) int {
680+
releaseType := releasePageHTML.Find("meta", "property", "og:type")
681+
if releaseType.Error != nil {
682+
return 4
683+
}
680684
// User page
681-
if releasePageHTML.Find("meta", "property", "og:type").Attrs()["content"] == "profile" {
685+
if releaseType.Attrs()["content"] == "profile" {
682686
return 0
683687
}
684688
// Artist page
685-
if releasePageHTML.Find("meta", "property", "og:type").Attrs()["content"] == "band" {
689+
if releaseType.Attrs()["content"] == "band" {
686690
return 1
687691
}
688692
// Purchased
@@ -698,7 +702,7 @@ func checkReleaseAvailability(link string) int {
698702
return 3
699703
}
700704
}
701-
return 4
705+
return 5
702706
}
703707

704708
// if link requires payment write it in "paid.txt" file
@@ -732,30 +736,25 @@ func availAndDownload(releaseLink string) {
732736
purchasedPageDownload(releaseLink)
733737
case 3:
734738
freePageDownload(releaseLink)
739+
case 4:
740+
color.Red("### Invalid Link\n\n")
735741
default:
736742
paidLink(releaseLink)
737743
color.Red("### Paid\n\n")
738744
}
739745
}
740746

741-
// Makes sure url is valid Bandcamp link
742-
func validateLink(link string) string {
743-
link = strings.TrimSpace(link)
744-
releasePageSoup, _ := soup.Get(link)
745-
releasePageHTML = soup.HTMLParse(releasePageSoup)
746-
if releasePageHTML.Find("meta", "property", "twitter:site").Attrs()["content"] == "@bandcamp" {
747-
u, _ := url.Parse(link)
748-
return string(u.String())
749-
}
750-
return ""
751-
}
752-
753747
// Validate link, get link page, continues, returns downloaded file path
754748
func get(releaseLink string) {
755749
color.New(color.FgGreen).Print(string("==> "))
756750
fmt.Println(releaseLink)
757751

758-
releaseLink = validateLink(releaseLink)
752+
releaseLink = strings.TrimSpace(releaseLink)
753+
u, _ := url.Parse(releaseLink)
754+
releaseLink = string(u.String())
755+
releasePageSoup, _ := soup.Get(releaseLink)
756+
releasePageHTML = soup.HTMLParse(releasePageSoup)
757+
759758
if releaseLink == "" {
760759
color.Red("### Invalid Link\n\n")
761760
return

0 commit comments

Comments
 (0)