aboutsummaryrefslogtreecommitdiffstats
path: root/importer/importer.go
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-14 08:58:38 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-14 08:58:38 -0800
commite3c379d069ffa9661561d25cdbf2f5894a2f8ee8 (patch)
tree24d0e9f5610dd9c8f873c5b78e6bc1c88d32840a /importer/importer.go
parent4b06155fbde91a1bef6361ef36efb28789861928 (diff)
downloadneko-e3c379d069ffa9661561d25cdbf2f5894a2f8ee8.tar.gz
neko-e3c379d069ffa9661561d25cdbf2f5894a2f8ee8.tar.bz2
neko-e3c379d069ffa9661561d25cdbf2f5894a2f8ee8.zip
Refactor: project structure, implement dependency injection, and align v2 UI with v1
Diffstat (limited to 'importer/importer.go')
-rw-r--r--importer/importer.go89
1 files changed, 0 insertions, 89 deletions
diff --git a/importer/importer.go b/importer/importer.go
deleted file mode 100644
index 73a2cd8..0000000
--- a/importer/importer.go
+++ /dev/null
@@ -1,89 +0,0 @@
-package importer
-
-import (
- // "bufio"
- "encoding/json"
- //"fmt"
- "io"
- "log"
- "os"
-
- "adammathes.com/neko/models/feed"
- "adammathes.com/neko/models/item"
-)
-
-type IItem struct {
- Title string `json:"title"`
- Url string `json:"url"`
- Description string `json:"description"`
- ReadState bool `json:"read"`
- Starred bool `json:"starred"`
- Date *IDate `json:"date"`
- Feed *IFeed `json:"feed"`
-}
-
-type IFeed struct {
- Url string `json:"url"`
- Title string `json:"title"`
- WebUrl string `json:"web_url"`
-}
-
-type IDate struct {
- Date string `json:"$date"`
-}
-
-func ImportJSON(filename string) error {
-
- f, err := os.Open(filename)
- if err != nil {
- return err
- }
- defer f.Close()
-
- dec := json.NewDecoder(f)
- for {
- var ii IItem
- if err := dec.Decode(&ii); err == io.EOF {
- break
- } else if err != nil {
- return err
- } else {
- err := InsertIItem(&ii)
- if err != nil {
- log.Println(err)
- }
- }
- }
- return nil
-}
-
-func InsertIItem(ii *IItem) error {
- var f feed.Feed
-
- if ii.Feed == nil {
- return nil
- }
- err := f.ByUrl(ii.Feed.Url)
- if err != nil {
- f.Url = ii.Feed.Url
- f.Title = ii.Feed.Title
- err = f.Create()
- if err != nil {
- return err
- }
- }
-
- var i item.Item
- i.FeedId = f.Id
- i.Title = ii.Title
- i.Url = ii.Url
- i.Description = ii.Description
-
- if ii.Date != nil {
- i.PublishDate = ii.Date.Date
- }
-
- err = i.Create()
- log.Printf("inserted %s\n", i.Url)
- return err
-}