@@ -677,12 +677,16 @@ func userPageLinkGen(releaseLink string) {
677
677
678
678
// Finds out what type of release the link is
679
679
func checkReleaseAvailability (link string ) int {
680
+ releaseType := releasePageHTML .Find ("meta" , "property" , "og:type" )
681
+ if releaseType .Error != nil {
682
+ return 4
683
+ }
680
684
// User page
681
- if releasePageHTML . Find ( "meta" , "property" , "og:type" ) .Attrs ()["content" ] == "profile" {
685
+ if releaseType .Attrs ()["content" ] == "profile" {
682
686
return 0
683
687
}
684
688
// Artist page
685
- if releasePageHTML . Find ( "meta" , "property" , "og:type" ) .Attrs ()["content" ] == "band" {
689
+ if releaseType .Attrs ()["content" ] == "band" {
686
690
return 1
687
691
}
688
692
// Purchased
@@ -698,7 +702,7 @@ func checkReleaseAvailability(link string) int {
698
702
return 3
699
703
}
700
704
}
701
- return 4
705
+ return 5
702
706
}
703
707
704
708
// if link requires payment write it in "paid.txt" file
@@ -732,30 +736,25 @@ func availAndDownload(releaseLink string) {
732
736
purchasedPageDownload (releaseLink )
733
737
case 3 :
734
738
freePageDownload (releaseLink )
739
+ case 4 :
740
+ color .Red ("### Invalid Link\n \n " )
735
741
default :
736
742
paidLink (releaseLink )
737
743
color .Red ("### Paid\n \n " )
738
744
}
739
745
}
740
746
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
-
753
747
// Validate link, get link page, continues, returns downloaded file path
754
748
func get (releaseLink string ) {
755
749
color .New (color .FgGreen ).Print (string ("==> " ))
756
750
fmt .Println (releaseLink )
757
751
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
+
759
758
if releaseLink == "" {
760
759
color .Red ("### Invalid Link\n \n " )
761
760
return
0 commit comments