rdfio/rdf2smw

View on GitHub
components/catfilterer.go

Summary

Maintainability
A
0 mins
Test Coverage
package components
 
exported type CategoryFilterer should have comment or be unexported
type CategoryFilterer struct {
In chan *WikiPage
Out chan *WikiPage
Categories []*Category
}
 
exported function NewCategoryFilterer should have comment or be unexported
func NewCategoryFilterer(categories []*Category) *CategoryFilterer {
return &CategoryFilterer{
In: make(chan *WikiPage, BUFSIZE),
Out: make(chan *WikiPage, BUFSIZE),
Categories: categories,
}
}
 
exported method CategoryFilterer.Run should have comment or be unexported
func (p *CategoryFilterer) Run() {
defer close(p.Out)
for page := range p.In {
for _, pageCat := range page.Categories {
if catInArray(pageCat, p.Categories) {
p.Out <- page
break
}
}
}
}
 
func catInArray(searchCat *Category, cats []*Category) bool {
for _, cat := range cats {
if searchCat.Name == cat.Name {
return true
}
}
return false
}