Start refactor
This commit is contained in:
49
internal/articles/articles.go
Normal file
49
internal/articles/articles.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package articles
|
||||
|
||||
import (
|
||||
"log"
|
||||
"wire/internal/api"
|
||||
)
|
||||
|
||||
type Articles []Article
|
||||
|
||||
type Article struct {
|
||||
Title string
|
||||
Link string
|
||||
Description string
|
||||
Content string
|
||||
}
|
||||
|
||||
type ArticleParser struct {
|
||||
url string
|
||||
limit int
|
||||
}
|
||||
|
||||
func NewParser(url string) *ArticleParser {
|
||||
ap := ArticleParser{
|
||||
url: url,
|
||||
limit: 15,
|
||||
}
|
||||
return &ap
|
||||
}
|
||||
|
||||
func (ap *ArticleParser) GetArticles() (as Articles) {
|
||||
items, err := api.FetchRSS(ap.url)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
for i, v := range items {
|
||||
if i == ap.limit {
|
||||
break
|
||||
}
|
||||
as = append(as, Article{
|
||||
Title: v.Title,
|
||||
Link: v.Link,
|
||||
Description: v.Description,
|
||||
Content: v.Content,
|
||||
})
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
@@ -2,3 +2,6 @@
|
||||
|
||||
news=true
|
||||
quote=true
|
||||
ramblings=true
|
||||
|
||||
ramblings_path=${XDG_DOCUMENTS_DIR}/wire/
|
||||
|
||||
Reference in New Issue
Block a user