summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordemo <demo@antix1>2026-06-11 22:53:26 -0400
committerdemo <demo@antix1>2026-06-11 22:53:26 -0400
commitbdf43822197f56713d0fff944501f791e7234ac0 (patch)
treedfd0644e4a24075beb8a328b8b93de8772a61d68
parent36d7c8616c0b5e96b1efcdb648b9a71a0cb6ef47 (diff)
feat: implement URL conversion per case
-rw-r--r--main.go35
1 files changed, 28 insertions, 7 deletions
diff --git a/main.go b/main.go
index dc215eb..e19a971 100644
--- a/main.go
+++ b/main.go
@@ -4,6 +4,7 @@ package main
import (
"context"
+ "errors"
"fmt"
"log"
"net/url"
@@ -50,16 +51,36 @@ func main() {
},
},
Action: func(ctx context.Context, cmd *cli.Command) error {
- fmt.Println("get!")
+ if shortcode := cmd.String("shortcode"); shortcode != "" {
+ // FIXME: shortcode filename is hardcoded for now.
+ rawURL, err := getURLFromShortcode("urls.csv", shortcode)
+ if err != nil {
+ return err
+ }
- switch {
- case cmd.String("shortcode") != "":
- fmt.Println("shortcode: ", cmd.String("shortcode"))
- case cmd.String("url") != "":
- fmt.Println("url: ", cmd.String("url"))
+ u, err := convertToURL(rawURL)
+ if err != nil {
+ return err
+ }
+
+ fmt.Printf("URL: %s\n", &u)
+ return nil
}
- return nil
+ if rawURL := cmd.String("url"); rawURL != "" {
+ u, err := convertToURL(rawURL)
+ if err != nil {
+ return err
+ }
+
+ fmt.Printf("URL: %s\n", &u)
+ return nil
+ }
+
+ // We shouldn't reach this
+ // code, but let's at least
+ // document our intentions.
+ return errors.New("url and shortcode arguments should be mutually exclusive")
},
},
{