Commit e956960
Eric Bower
·
2025-08-22 16:31:27 -0400 EDT
parent 588d72e
feat(feeds): cli `print` command prints the feed post
1 files changed,
+24,
-1
+24,
-1
| ... | ... | @@ -25,6 +25,8 @@ func Middleware(dbpool db.DB, cfg *shared.ConfigSite) pssh.SSHServerMiddleware { | |
| 25 | 25 | return err | |
| 26 | 26 | } | |
| 27 | 27 | ||
| 28 | + | logger = shared.LoggerWithUser(logger, user) | |
| 29 | + | ||
| 28 | 30 | cmd := "help" | |
| 29 | 31 | if len(args) > 0 { | |
| 30 | 32 | cmd = args[0] |
| ... | ... | @@ -32,7 +34,7 @@ func Middleware(dbpool db.DB, cfg *shared.ConfigSite) pssh.SSHServerMiddleware { | |
| 32 | 34 | ||
| 33 | 35 | switch cmd { | |
| 34 | 36 | case "help": | |
| 35 | - | _, _ = fmt.Fprintf(sesh, "Commands: [help, ls, rm, run]\r\n\r\n") | |
| 37 | + | _, _ = fmt.Fprintf(sesh, "Commands: [help, ls, rm, print, run]\r\n\r\n") | |
| 36 | 38 | writer := tabwriter.NewWriter(sesh, 0, 0, 1, ' ', tabwriter.TabIndent) | |
| 37 | 39 | _, _ = fmt.Fprintln(writer, "Cmd\tDesc") | |
| 38 | 40 | _, _ = fmt.Fprintf( |
| ... | ... | @@ -50,6 +52,11 @@ func Middleware(dbpool db.DB, cfg *shared.ConfigSite) pssh.SSHServerMiddleware { | |
| 50 | 52 | "%s\t%s\r\n", | |
| 51 | 53 | "rm {filename}", "removes feed digest post", | |
| 52 | 54 | ) | |
| 55 | + | _, _ = fmt.Fprintf( | |
| 56 | + | writer, | |
| 57 | + | "%s\t%s\r\n", | |
| 58 | + | "print {filename}", "prints the feed digest file", | |
| 59 | + | ) | |
| 53 | 60 | _, _ = fmt.Fprintf( | |
| 54 | 61 | writer, | |
| 55 | 62 | "%s\t%s\r\n", |
| ... | ... | @@ -106,6 +113,7 @@ func Middleware(dbpool db.DB, cfg *shared.ConfigSite) pssh.SSHServerMiddleware { | |
| 106 | 113 | _, _ = fmt.Fprintln(sesh.Stderr(), err) | |
| 107 | 114 | return err | |
| 108 | 115 | } | |
| 116 | + | logger.Info("rm cmd", "filename", filename, "write", write) | |
| 109 | 117 | if write { | |
| 110 | 118 | err = dbpool.RemovePosts([]string{post.ID}) | |
| 111 | 119 | if err != nil { |
| ... | ... | @@ -117,6 +125,20 @@ func Middleware(dbpool db.DB, cfg *shared.ConfigSite) pssh.SSHServerMiddleware { | |
| 117 | 125 | _, _ = fmt.Fprintln(sesh, "WARNING: *must* append with `--write` for the changes to persist.") | |
| 118 | 126 | } | |
| 119 | 127 | return err | |
| 128 | + | case "print": | |
| 129 | + | if len(args) < 2 { | |
| 130 | + | err := fmt.Errorf("must provide filename of post to run") | |
| 131 | + | _, _ = fmt.Fprintln(sesh.Stderr(), err) | |
| 132 | + | return err | |
| 133 | + | } | |
| 134 | + | filename := args[1] | |
| 135 | + | post, err := dbpool.FindPostWithFilename(filename, user.ID, "feeds") | |
| 136 | + | if err != nil { | |
| 137 | + | _, _ = fmt.Fprintln(sesh.Stderr(), err) | |
| 138 | + | return err | |
| 139 | + | } | |
| 140 | + | _, _ = fmt.Fprintf(sesh, "%s\n", post.Text) | |
| 141 | + | return nil | |
| 120 | 142 | case "run": | |
| 121 | 143 | if len(args) < 2 { | |
| 122 | 144 | err := fmt.Errorf("must provide filename of post to run") |
| ... | ... | @@ -130,6 +152,7 @@ func Middleware(dbpool db.DB, cfg *shared.ConfigSite) pssh.SSHServerMiddleware { | |
| 130 | 152 | return err | |
| 131 | 153 | } | |
| 132 | 154 | _, _ = fmt.Fprintf(sesh, "running feed post: %s\r\n", filename) | |
| 155 | + | logger.Info("run cmd", "filename", filename) | |
| 133 | 156 | fetcher := NewFetcher(dbpool, cfg) | |
| 134 | 157 | err = fetcher.RunPost(logger, user, post, true, time.Now().UTC()) | |
| 135 | 158 | if err != nil { |