Skip to content

Commit a496246

Browse files
author
Jack Tang
committed
UPT: working listing page
1 parent a2fe09b commit a496246

File tree

11 files changed

+343
-422
lines changed

11 files changed

+343
-422
lines changed

Makefile

+3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ all: get
99
get:
1010
go get
1111

12+
build:
13+
go build cmd/tusc.go
14+
1215
clean:
1316
rm -rf tusc*
1417

cmd/tusc.go

+5-4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package main
22

33
import (
44
"github.com/jackhftang/tusc/internal"
5+
"github.com/jackhftang/tusc/internal/util"
56
"os"
67
)
78

@@ -12,14 +13,14 @@ const usage = `Usage:
1213

1314
func main() {
1415
if len(os.Args) < 2 {
15-
internal.ExitWithMessages("No command", usage)
16+
util.ExitWithMessages("No command", usage)
1617
}
1718
switch cmd := os.Args[1]; cmd {
1819
case "server", "s":
19-
//internal.Server()
20+
internal.Server()
2021
case "client", "c":
21-
//internal.Client()
22+
internal.Client()
2223
default:
23-
internal.ExitWithMessages("Unknown command: "+cmd, usage)
24+
util.ExitWithMessages("Unknown command: "+cmd, usage)
2425
}
2526
}

go.mod

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ module github.com/jackhftang/tusc
33
go 1.12
44

55
require (
6-
cloud.google.com/go v0.43.0 // indirect
7-
github.com/aws/aws-sdk-go v1.21.1 // indirect
86
github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40 // indirect
7+
github.com/davecgh/go-spew v1.1.1 // indirect
98
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815
109
github.com/eventials/go-tus v0.0.0-20190617130015-9db47421f6a0
11-
github.com/prometheus/client_golang v1.0.0 // indirect
12-
github.com/sethgrid/pester v0.0.0-20190127155807-68a33a018ad0 // indirect
10+
github.com/golang/mock v1.3.1 // indirect
11+
github.com/golang/protobuf v1.3.2 // indirect
12+
github.com/stretchr/testify v1.3.0 // indirect
1313
github.com/syndtr/goleveldb v1.0.0 // indirect
1414
github.com/tus/tusd v0.0.0-20190712143443-30811b6579c5
15-
github.com/vimeo/go-util v1.2.0 // indirect
1615
golang.org/x/net v0.0.0-20190628185345-da137c7871d7 // indirect
16+
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0 // indirect
17+
golang.org/x/text v0.3.2 // indirect
1718
gopkg.in/Acconut/lockfile.v1 v1.1.0 // indirect
18-
gopkg.in/h2non/gock.v1 v1.0.15 // indirect
1919
)

go.sum

-150
Large diffs are not rendered by default.

internal/client.go

+17-8
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"github.com/docopt/docopt-go"
66
"github.com/eventials/go-tus"
77
"github.com/eventials/go-tus/leveldbstore"
8+
"github.com/jackhftang/tusc/internal/util"
89
"net/http"
910
"os"
1011
)
@@ -23,39 +24,44 @@ Options:
2324
`
2425

2526
func Client() {
27+
var err error
2628
arguments, _ := docopt.ParseDoc(clientUsage)
2729

2830
file, _ := arguments.String("<file>")
2931
url, _ := arguments.String("<url>")
30-
resume := getBool(arguments, "--resumable")
32+
resume := util.GetBool(arguments, "--resumable")
3133

34+
// open file
3235
f, err := os.Open(file)
3336
if err != nil {
34-
ExitWithMessages("Cannot open file: " + file)
37+
util.ExitWithMessages("Cannot open file: " + file)
3538
}
3639
defer f.Close()
3740

3841
// create the tus client
3942
var store tus.Store
4043
if resume {
41-
path := getString(arguments, "--store")
44+
path := util.GetString(arguments, "--store")
4245
store, err = leveldbstore.NewLeveldbStore(path)
4346
if err != nil {
44-
ExitWithMessages("Cannot Open "+path, clientUsage)
47+
util.ExitWithMessages("Cannot Open "+path, clientUsage)
4548
}
4649
}
4750

4851
client, _ := tus.NewClient(url, &tus.Config{
49-
ChunkSize: getInt64(arguments, "--chuck-size"),
50-
OverridePatchMethod: getBool(arguments, "--override-patch-method"),
52+
ChunkSize: util.GetInt64(arguments, "--chuck-size"),
53+
OverridePatchMethod: util.GetBool(arguments, "--override-patch-method"),
5154
Resume: resume,
5255
Store: store,
5356
Header: make(http.Header),
5457
HttpClient: nil,
5558
})
5659

5760
// create an upload from a file.
58-
upload, _ := tus.NewUploadFromFile(f)
61+
var upload *tus.Upload
62+
if upload, err = tus.NewUploadFromFile(f); err != nil {
63+
util.ExitWithMessages("Cannot create upload from file: " + f.Name())
64+
}
5965

6066
// create the uploader.
6167
var uploader *tus.Uploader
@@ -64,11 +70,14 @@ func Client() {
6470
} else {
6571
uploader, err = client.CreateUpload(upload)
6672
}
73+
if err != nil {
74+
util.ExitWithMessages("Failed to upload", err.Error())
75+
}
6776

6877
fmt.Println(uploader.Url())
6978

7079
// start the uploading process.
7180
if err = uploader.Upload(); err != nil {
72-
ExitWithMessages("Upload incomplete")
81+
util.ExitWithMessages("Upload incomplete")
7382
}
7483
}

0 commit comments

Comments
 (0)