diff options
author | Joop Kiefte <ikojba@gmail.com> | 2021-12-11 03:46:10 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-11 03:46:10 +0000 |
commit | 4242f2656fab01837ae53ae994f1ec218030c45c (patch) | |
tree | fa2b19beabc8353188b9356c45293a932ab605d0 | |
parent | 0b85740bc98047f0acebf263343ce3218a878b98 (diff) |
Add support for removing tags and display followed tags during use
-rw-r--r-- | main.go | 39 |
1 files changed, 32 insertions, 7 deletions
@@ -35,7 +35,6 @@ type MenuElements struct { // Menu presents a menu to the user func Menu(menu []MenuElements) { // Present the user with a menu - fmt.Println("Welcome to Infodump") for i, e := range menu { fmt.Println(i+1, e.Description) } @@ -50,6 +49,8 @@ func Menu(menu []MenuElements) { } func main() { + fmt.Println("Welcome to Infodump") + // Set message IPFS client to use the local IPFS node message.IPFSGateway = "http://localhost:5001" @@ -76,6 +77,14 @@ func main() { // configure the followed tags // quit the program for { + // Check if the database is set, if so, show the followed tags + if DB != nil { + fmt.Println("Following tags:") + for _, tag := range GetFollowedTags(DB) { + fmt.Print(tag, " ") + fmt.Println() + } + } // Present the user with a menu Menu([]MenuElements{ {"Start OLN Listener", StartOLNListener}, @@ -325,15 +334,31 @@ func SetDatabase() { func ConfigureFollowedTags() { db := GetDatabase() - fmt.Println("Enter the tags you want to follow, separated by spaces: ") - tags := Readline() + fmt.Println("At the moment you follow the following tags:") + // Get the tags that the user is following + tags := GetFollowedTags(db) + // Show the tags + for _, tag := range tags { + fmt.Print(tag, " ") + } + fmt.Println() + fmt.Println("Enter the tags you want to follow, separated by spaces\nTo remove tags, prefix them with a minus sign: ") + newtags := Readline() // Split the tags into an array and insert them into database DB // using table "followed_tags" - tagArray := strings.Split(tags, " ") + tagArray := strings.Split(newtags, " ") for _, tag := range tagArray { - _, err := db.Exec("INSERT INTO followed_tags(tag) VALUES(?)", tag) - if err != nil { - fmt.Println(err) + tag = strings.Trim(tag, " \n") + if !strings.HasPrefix(tag, "-") { + _, err := db.Exec("INSERT INTO followed_tags(tag) VALUES(?)", tag) + if err != nil { + fmt.Println(err) + } + } else { + _, err := db.Exec("DELETE FROM followed_tags WHERE tag=?", tag[1:]) + if err != nil { + fmt.Println(err) + } } } } |