Skip to content

Commit e659bfa

Browse files
committed
Use ulid (lower case) to stamp filenames
Having filenames without hyphens in them (copy-paste-able) was the final selling point for me. So much nicer.
1 parent 6c4658a commit e659bfa

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

‎client.go‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ import (
1414
"github.com/aws/aws-sdk-go-v2/credentials"
1515
"github.com/aws/aws-sdk-go-v2/service/s3"
1616
"github.com/aws/aws-sdk-go-v2/service/sqs"
17+
"github.com/oklog/ulid/v2"
1718

18-
"github.com/google/uuid"
1919
"golang.org/x/sync/errgroup"
2020
)
2121

@@ -69,7 +69,8 @@ type Client struct {
6969
// This will block until the response is received or the timeout is reached.
7070
// Note that Output.Filename should be considered temporary and will be removed on Close.
7171
func (c *Client) Execute(ctx context.Context, op string, input Input) (Output, error) {
72-
id := uuid.New().String()
72+
// ULID is case insensitive, and lower case works better for filenames.
73+
id := strings.ToLower(ulid.Make().String())
7374
key := fmt.Sprintf("%s/%s/%s_%s", toServer, op, id, filepath.Base(input.Filename))
7475

7576
// First upload the file to the input folder.

‎go.mod‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ require (
1111
github.com/bep/awscreate v0.1.0
1212
github.com/bep/awscreate/s3rpccreate v0.2.0
1313
github.com/frankban/quicktest v1.14.2
14-
github.com/google/uuid v1.3.0
14+
github.com/oklog/ulid/v2 v2.1.0
1515
golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde
1616
)
1717

‎go.sum‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ github.com/frankban/quicktest v1.14.2/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUork
5252
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
5353
github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
5454
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
55-
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
56-
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
5755
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
5856
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
5957
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
@@ -65,6 +63,9 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
6563
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
6664
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
6765
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
66+
github.com/oklog/ulid/v2 v2.1.0 h1:+9lhoxAP56we25tyYETBBY1YLA2SaoLvUFgrP2miPJU=
67+
github.com/oklog/ulid/v2 v2.1.0/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ=
68+
github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o=
6869
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
6970
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
7071
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=

0 commit comments

Comments
 (0)