Skip to content

Commit

Permalink
v0.1.8
Browse files Browse the repository at this point in the history
  • Loading branch information
sagan committed Dec 8, 2023
1 parent ddf7e89 commit eed9bc7
Show file tree
Hide file tree
Showing 10 changed files with 48 additions and 52 deletions.
8 changes: 3 additions & 5 deletions cmd/cookiecloud/importsites/importsites.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,17 +144,15 @@ func importsites(cmd *cobra.Command, args []string) error {
}

if len(addSites) > 0 {
fmt.Printf("✓new sites found (%d): %s", len(addSites),
fmt.Printf("✓new sites found (%d): %s\n", len(addSites),
strings.Join(util.Map(addSites, func(site *config.SiteConfigStruct) string {
sitename := site.Type
if site.Name != "" {
sitename = fmt.Sprintf("%s (as %s)", sitename, site.Name)
}
return sitename
}), ", "))

configFile := fmt.Sprintf("%s/%s", config.ConfigDir, config.ConfigFile)
fmt.Printf("\n")
if !doAction && !util.AskYesNoConfirm(
fmt.Sprintf("Will update the config file (%s). Be aware that all existing comments will be LOST",
configFile)) {
Expand All @@ -163,12 +161,12 @@ func importsites(cmd *cobra.Command, args []string) error {
config.UpdateSites(addSites)
err := config.Set()
if err == nil {
fmt.Printf("Successfully update config file %s", configFile)
fmt.Printf("Successfully update config file %s\n", configFile)
} else {
log.Fatalf("Failed to update config file %s : %v", configFile, err)
}
} else {
fmt.Printf("!No new sites found in cookiecloud datas")
fmt.Printf("!No new sites found in cookiecloud datas\n")
}

if cntError > 0 {
Expand Down
9 changes: 3 additions & 6 deletions cmd/cookiecloud/sync/sync.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,7 @@ func sync(cmd *cobra.Command, args []string) error {
var sitenames []string
if siteFlag == "" {
sitenames = []string{}
for _, site := range config.Get().Sites {
if site.Disabled {
continue
}
for _, site := range config.Get().SitesEnabled {
sitenames = append(sitenames, site.GetName())
}
} else {
Expand Down Expand Up @@ -241,12 +238,12 @@ func sync(cmd *cobra.Command, args []string) error {
config.UpdateSites(updatesites)
err := config.Set()
if err == nil {
fmt.Printf("Successfully update config file %s", configFile)
fmt.Printf("Successfully update config file %s\n", configFile)
} else {
log.Fatalf("Failed to update config file %s : %v", configFile, err)
}
} else {
fmt.Printf("!No new cookie found for any site")
fmt.Printf("!No new cookie found for any site\n")
}

if cntError > 0 {
Expand Down
3 changes: 0 additions & 3 deletions cmd/iyuu/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -190,9 +190,6 @@ func GenerateIyuu2LocalSiteMap(iyuuSites []Site,
iyuu2LocalSiteMap := map[int64]string{} // iyuu sid => local site name
for _, iyuuSite := range iyuuSites {
localSite := util.FindInSlice(localSites, func(siteConfig *config.SiteConfigStruct) bool {
if siteConfig.Disabled {
return false
}
if siteConfig.Url != "" && siteConfig.Url == iyuuSite.Url {
return true
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/iyuu/sites/sites.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func sites(cmd *cobra.Command, args []string) error {
return site.ToSite()
})
log.Printf("Iyuu sites: len(sites)=%v\n", len(iyuuSites))
iyuu2LocalSiteMap := iyuu.GenerateIyuu2LocalSiteMap(iyuuSites, config.Get().Sites)
iyuu2LocalSiteMap := iyuu.GenerateIyuu2LocalSiteMap(iyuuSites, config.Get().SitesEnabled)

if showAll {
fmt.Printf("<all iyuu supported sites>\n")
Expand Down
2 changes: 1 addition & 1 deletion cmd/iyuu/xseed/xseed.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ func xseed(cmd *cobra.Command, args []string) error {
var clientTorrentsMap = map[string][]*iyuu.Torrent{} // targetInfoHash => iyuuTorrent
iyuu.Db().Find(&sites)
iyuu.Db().Where("target_info_hash in ?", reqInfoHashes).Find(&clientTorrents)
site2LocalMap := iyuu.GenerateIyuu2LocalSiteMap(sites, config.Get().Sites)
site2LocalMap := iyuu.GenerateIyuu2LocalSiteMap(sites, config.Get().SitesEnabled)
log.Tracef("iyuu->local site map: %v; clientTorrents: len=%d", site2LocalMap, len(clientTorrents))
for _, torrent := range clientTorrents {
list := clientTorrentsMap[torrent.TargetInfoHash]
Expand Down
28 changes: 14 additions & 14 deletions cmd/shell/suggest/suggest.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ func FileArg(prefix string, suffix string, dirOnly bool) []prompt.Suggest {

func ClientArg(prefix string) []prompt.Suggest {
suggestions := []prompt.Suggest{}
for _, client := range config.Get().Clients {
if !client.Disabled && strings.HasPrefix(client.Name, prefix) {
for _, client := range config.Get().ClientsEnabled {
if strings.HasPrefix(client.Name, prefix) {
suggestions = append(suggestions, prompt.Suggest{Text: client.Name, Description: "<client>"})
}
}
Expand All @@ -88,8 +88,8 @@ func ClientArg(prefix string) []prompt.Suggest {

func SiteArg(prefix string) []prompt.Suggest {
suggestions := []prompt.Suggest{}
for _, site := range config.Get().Sites {
if !site.Disabled && strings.HasPrefix(site.GetName(), prefix) {
for _, site := range config.Get().SitesEnabled {
if strings.HasPrefix(site.GetName(), prefix) {
suggestions = append(suggestions, prompt.Suggest{Text: site.GetName(), Description: "<site>"})
}
}
Expand All @@ -98,13 +98,13 @@ func SiteArg(prefix string) []prompt.Suggest {

func ClientOrSiteArg(prefix string) []prompt.Suggest {
suggestions := []prompt.Suggest{}
for _, client := range config.Get().Clients {
if !client.Disabled && strings.HasPrefix(client.Name, prefix) {
for _, client := range config.Get().ClientsEnabled {
if strings.HasPrefix(client.Name, prefix) {
suggestions = append(suggestions, prompt.Suggest{Text: client.Name, Description: "<client>"})
}
}
for _, site := range config.Get().Sites {
if !site.Disabled && strings.HasPrefix(site.GetName(), prefix) {
for _, site := range config.Get().SitesEnabled {
if strings.HasPrefix(site.GetName(), prefix) {
suggestions = append(suggestions, prompt.Suggest{Text: site.GetName(), Description: "<site>"})
}
}
Expand All @@ -113,13 +113,13 @@ func ClientOrSiteArg(prefix string) []prompt.Suggest {

func ClientOrSiteOrGroupArg(prefix string) []prompt.Suggest {
suggestions := []prompt.Suggest{}
for _, client := range config.Get().Clients {
if !client.Disabled && strings.HasPrefix(client.Name, prefix) {
for _, client := range config.Get().ClientsEnabled {
if strings.HasPrefix(client.Name, prefix) {
suggestions = append(suggestions, prompt.Suggest{Text: client.Name, Description: "<client>"})
}
}
for _, site := range config.Get().Sites {
if !site.Disabled && strings.HasPrefix(site.GetName(), prefix) {
for _, site := range config.Get().SitesEnabled {
if strings.HasPrefix(site.GetName(), prefix) {
suggestions = append(suggestions, prompt.Suggest{Text: site.GetName(), Description: "<site>"})
}
}
Expand All @@ -133,8 +133,8 @@ func ClientOrSiteOrGroupArg(prefix string) []prompt.Suggest {

func SiteOrGroupArg(prefix string) []prompt.Suggest {
suggestions := []prompt.Suggest{}
for _, site := range config.Get().Sites {
if !site.Disabled && strings.HasPrefix(site.GetName(), prefix) {
for _, site := range config.Get().SitesEnabled {
if strings.HasPrefix(site.GetName(), prefix) {
suggestions = append(suggestions, prompt.Suggest{Text: site.GetName(), Description: "<site>"})
}
}
Expand Down
9 changes: 3 additions & 6 deletions cmd/status/status.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,16 +65,13 @@ func status(cmd *cobra.Command, args []string) error {
return fmt.Errorf("--all, --clients, --sites flags cann't be used with site or client names")
}
if showAll || showAllClients {
for _, client := range config.Get().Clients {
if client.Disabled {
continue
}
for _, client := range config.Get().ClientsEnabled {
names = append(names, client.Name)
}
}
if showAll || showAllSites {
for _, site := range config.Get().Sites {
if site.Disabled || site.Hidden {
for _, site := range config.Get().SitesEnabled {
if site.Hidden {
continue
}
names = append(names, site.GetName())
Expand Down
19 changes: 13 additions & 6 deletions config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,8 @@ type ConfigStruct struct {
Groups []*GroupConfigStruct `yaml:"groups"`
Cookieclouds []*CookiecloudConfigStruct `yaml:"cookieclouds"`
Comment string `yaml:"comment"`
ClientsEnabled []*ClientConfigStruct
SitesEnabled []*SiteConfigStruct
}

var (
Expand Down Expand Up @@ -213,6 +215,7 @@ func UpdateSites(updatesites []*SiteConfigStruct) {
}
}
configData.Sites = allsites
configData.UpdateSitesDerivative()
}

// Re-write the whole config file using memory data.
Expand Down Expand Up @@ -311,12 +314,10 @@ func Get() *ConfigStruct {
cookiecloudsConfigMap[cookiecloud.Name] = cookiecloud
}
}
configData.Clients = util.Filter(configData.Clients, func(c *ClientConfigStruct) bool {
configData.ClientsEnabled = util.Filter(configData.Clients, func(c *ClientConfigStruct) bool {
return !c.Disabled
})
configData.Sites = util.Filter(configData.Sites, func(s *SiteConfigStruct) bool {
return !s.Disabled
})
configData.UpdateSitesDerivative()
})
return configData
}
Expand Down Expand Up @@ -357,8 +358,8 @@ func GetCookiecloudConfig(name string) *CookiecloudConfigStruct {
func GetGroupSites(name string) []string {
if name == "_all" { // special group of all sites
sitenames := []string{}
for _, siteConfig := range Get().Sites {
if siteConfig.Disabled || siteConfig.Hidden {
for _, siteConfig := range Get().SitesEnabled {
if siteConfig.Hidden {
continue
}
sitenames = append(sitenames, siteConfig.GetName())
Expand Down Expand Up @@ -477,3 +478,9 @@ func MatchSite(domain string, siteConfig *SiteConfigStruct) bool {
}
return false
}

func (configData *ConfigStruct) UpdateSitesDerivative() {
configData.SitesEnabled = util.Filter(configData.Sites, func(s *SiteConfigStruct) bool {
return !s.Disabled
})
}
18 changes: 9 additions & 9 deletions site/site.go
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ func CreateSiteInternal(name string,
}

func GetConfigSiteReginfo(name string) *RegInfo {
for _, siteConfig := range config.Get().Sites {
for _, siteConfig := range config.Get().SitesEnabled {
if siteConfig.GetName() == name {
return registryMap[siteConfig.Type]
}
Expand Down Expand Up @@ -210,15 +210,15 @@ func PrintTorrents(torrents []Torrent, filter string, now int64, noHeader bool,

func GetConfigSiteNameByDomain(domain string) (string, error) {
var firstMatchSite, lastMatchSite *config.SiteConfigStruct
for _, siteConfig := range config.Get().Sites {
for _, siteConfig := range config.Get().SitesEnabled {
if config.MatchSite(domain, siteConfig) {
firstMatchSite = siteConfig
break
}
}
for i := len(config.Get().Sites) - 1; i >= 0; i-- {
if config.MatchSite(domain, config.Get().Sites[i]) {
lastMatchSite = config.Get().Sites[i]
for i := len(config.Get().SitesEnabled) - 1; i >= 0; i-- {
if config.MatchSite(domain, config.Get().SitesEnabled[i]) {
lastMatchSite = config.Get().SitesEnabled[i]
break
}
}
Expand All @@ -234,15 +234,15 @@ func GetConfigSiteNameByDomain(domain string) (string, error) {

func GetConfigSiteNameByTypes(types ...string) (string, error) {
var firstMatchSite, lastMatchSite *config.SiteConfigStruct
for _, siteConfig := range config.Get().Sites {
for _, siteConfig := range config.Get().SitesEnabled {
if slices.Index(types, siteConfig.Type) != -1 {
firstMatchSite = siteConfig
break
}
}
for i := len(config.Get().Sites) - 1; i >= 0; i-- {
if slices.Index(types, config.Get().Sites[i].Type) != -1 {
lastMatchSite = config.Get().Sites[i]
for i := len(config.Get().SitesEnabled) - 1; i >= 0; i-- {
if slices.Index(types, config.Get().SitesEnabled[i].Type) != -1 {
lastMatchSite = config.Get().SitesEnabled[i]
break
}
}
Expand Down
2 changes: 1 addition & 1 deletion version/version.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package version

var (
VersionSuffix = "DEV" // eg. DEV
VersionSuffix = "" // eg. DEV
VersionTag = "v0.1.8"
Version = ""
)
Expand Down

0 comments on commit eed9bc7

Please sign in to comment.