mirror of
https://github.com/go-shiori/shiori.git
synced 2025-02-22 23:14:02 +08:00
Add flag to only print the index of bookmark
This commit is contained in:
parent
fa6f0eebc3
commit
877a9f116c
2 changed files with 16 additions and 1 deletions
11
cmd/print.go
11
cmd/print.go
|
@ -19,6 +19,7 @@ var (
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
// Read flags
|
// Read flags
|
||||||
useJSON, _ := cmd.Flags().GetBool("json")
|
useJSON, _ := cmd.Flags().GetBool("json")
|
||||||
|
indexOnly, _ := cmd.Flags().GetBool("index-only")
|
||||||
|
|
||||||
// Read bookmarks from database
|
// Read bookmarks from database
|
||||||
bookmarks, err := DB.GetBookmarks(args...)
|
bookmarks, err := DB.GetBookmarks(args...)
|
||||||
|
@ -45,6 +46,8 @@ var (
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
fmt.Println(string(bt))
|
fmt.Println(string(bt))
|
||||||
|
} else if indexOnly {
|
||||||
|
printBookmarkIndex(bookmarks...)
|
||||||
} else {
|
} else {
|
||||||
printBookmark(bookmarks...)
|
printBookmark(bookmarks...)
|
||||||
}
|
}
|
||||||
|
@ -54,9 +57,17 @@ var (
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
printCmd.Flags().BoolP("json", "j", false, "Output data in JSON format")
|
printCmd.Flags().BoolP("json", "j", false, "Output data in JSON format")
|
||||||
|
printCmd.Flags().BoolP("index-only", "i", false, "Only print the index of bookmarks")
|
||||||
rootCmd.AddCommand(printCmd)
|
rootCmd.AddCommand(printCmd)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func printBookmarkIndex(bookmarks ...model.Bookmark) {
|
||||||
|
for _, bookmark := range bookmarks {
|
||||||
|
fmt.Printf("%d ", bookmark.ID)
|
||||||
|
}
|
||||||
|
fmt.Println()
|
||||||
|
}
|
||||||
|
|
||||||
func printBookmark(bookmarks ...model.Bookmark) {
|
func printBookmark(bookmarks ...model.Bookmark) {
|
||||||
for _, bookmark := range bookmarks {
|
for _, bookmark := range bookmarks {
|
||||||
// Create bookmark index
|
// Create bookmark index
|
||||||
|
|
|
@ -19,8 +19,9 @@ var (
|
||||||
Args: cobra.MaximumNArgs(1),
|
Args: cobra.MaximumNArgs(1),
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
// Read flags
|
// Read flags
|
||||||
useJSON, _ := cmd.Flags().GetBool("json")
|
|
||||||
tags, _ := cmd.Flags().GetStringSlice("tags")
|
tags, _ := cmd.Flags().GetStringSlice("tags")
|
||||||
|
useJSON, _ := cmd.Flags().GetBool("json")
|
||||||
|
indexOnly, _ := cmd.Flags().GetBool("index-only")
|
||||||
|
|
||||||
// Fetch keyword
|
// Fetch keyword
|
||||||
keyword := ""
|
keyword := ""
|
||||||
|
@ -48,6 +49,8 @@ var (
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
fmt.Println(string(bt))
|
fmt.Println(string(bt))
|
||||||
|
} else if indexOnly {
|
||||||
|
printBookmarkIndex(bookmarks...)
|
||||||
} else {
|
} else {
|
||||||
printBookmark(bookmarks...)
|
printBookmark(bookmarks...)
|
||||||
}
|
}
|
||||||
|
@ -57,6 +60,7 @@ var (
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
searchCmd.Flags().BoolP("json", "j", false, "Output data in JSON format")
|
searchCmd.Flags().BoolP("json", "j", false, "Output data in JSON format")
|
||||||
|
searchCmd.Flags().BoolP("index-only", "i", false, "Only print the index of bookmarks")
|
||||||
searchCmd.Flags().StringSliceP("tags", "t", []string{}, "Search bookmarks with specified tag(s)")
|
searchCmd.Flags().StringSliceP("tags", "t", []string{}, "Search bookmarks with specified tag(s)")
|
||||||
rootCmd.AddCommand(searchCmd)
|
rootCmd.AddCommand(searchCmd)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue