summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-11-13 22:15:24 +0200
committerPaul Buetow <paul@buetow.org>2024-11-13 22:15:24 +0200
commite0796a8f38c512ca1fb1f71aa455aebe1bf88f3a (patch)
treefac048b1e7ab0a348cbe382387295678ba49400a /internal
parent42e2b2c29e1e54995f5b20095943844ac92aa55e (diff)
fix editing entry before posting it
Diffstat (limited to 'internal')
-rw-r--r--internal/platforms/linkedin/linkedin.go3
-rw-r--r--internal/platforms/mastodon/mastodon.go2
-rw-r--r--internal/prompt/file.go15
3 files changed, 10 insertions, 10 deletions
diff --git a/internal/platforms/linkedin/linkedin.go b/internal/platforms/linkedin/linkedin.go
index 39ca8cc..7db0e0d 100644
--- a/internal/platforms/linkedin/linkedin.go
+++ b/internal/platforms/linkedin/linkedin.go
@@ -58,7 +58,7 @@ func post(ctx context.Context, args config.Args, sizeLimit int, en entry.Entry)
}
question := fmt.Sprintf("Do you want to post this message to Linkedin (%v)?", prev)
- if err := prompt.FileAction(question, content, en.Path); err != nil {
+ if content, err = prompt.FileAction(question, content, en.Path); err != nil {
return err
}
@@ -86,7 +86,6 @@ func postMessageToLinkedInAPI(ctx context.Context, personID, accessToken, conten
}
article := map[string]interface{}{}
-
if thumbnailPath, ok := prev.Thumbnail(); ok {
thumbnailURN, err := postImageToLinkedInAPI(ctx, personURN, accessToken, thumbnailPath)
if err != nil {
diff --git a/internal/platforms/mastodon/mastodon.go b/internal/platforms/mastodon/mastodon.go
index c0264de..186623a 100644
--- a/internal/platforms/mastodon/mastodon.go
+++ b/internal/platforms/mastodon/mastodon.go
@@ -31,7 +31,7 @@ func Post(ctx context.Context, args config.Args, sizeLimit int, en entry.Entry)
colour.Infoln("Not posting", en, "to Mastodon as dry-run enabled")
return nil
}
- if err := prompt.FileAction("Do you want to post this message to Mastodon?", content, en.Path); err != nil {
+ if content, err = prompt.FileAction("Do you want to post this message to Mastodon?", content, en.Path); err != nil {
return err
}
diff --git a/internal/prompt/file.go b/internal/prompt/file.go
index 365dc42..9668aed 100644
--- a/internal/prompt/file.go
+++ b/internal/prompt/file.go
@@ -17,7 +17,8 @@ var (
ErrDeleted = errors.New("deleted")
)
-func FileAction(question, content, filePath string) error {
+// TODO: Add option to randomly select another entry when no selected?
+func FileAction(question, content, filePath string) (string, error) {
colour.Info2f(filePath + ":")
fmt.Print("\n")
colour.Info2f(content)
@@ -34,22 +35,22 @@ func FileAction(question, content, filePath string) error {
switch strings.ToLower(strings.TrimSpace(input)) {
case "y", "yes":
- return nil
+ return content, nil
case "n", "no":
- return fmt.Errorf("%w %s", ErrAborted, filePath)
+ return content, fmt.Errorf("%w %s", ErrAborted, filePath)
case "e", "edit":
if err := EditFile(filePath); err != nil {
- return err
+ return content, err
}
if content, err = oi.SlurpAndTrim(filePath); err != nil {
- return err
+ return content, err
}
return FileAction(question, content, filePath)
case "d", "delete":
if err := os.Remove(filePath); err != nil {
- return err
+ return content, err
}
- return fmt.Errorf("%w %s", ErrDeleted, filePath)
+ return content, fmt.Errorf("%w %s", ErrDeleted, filePath)
default:
fmt.Println("Please enter 'y' or 'n' or 'e' or 'd'.")
}