diff options
| author | demo <demo@antix1> | 2026-06-11 22:53:26 -0400 |
|---|---|---|
| committer | demo <demo@antix1> | 2026-06-11 22:53:26 -0400 |
| commit | bdf43822197f56713d0fff944501f791e7234ac0 (patch) | |
| tree | dfd0644e4a24075beb8a328b8b93de8772a61d68 | |
| parent | 36d7c8616c0b5e96b1efcdb648b9a71a0cb6ef47 (diff) | |
feat: implement URL conversion per case
| -rw-r--r-- | main.go | 35 |
1 files changed, 28 insertions, 7 deletions
@@ -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") }, }, { |
