@@ -9,27 +9,54 @@ import (
99 "os/exec"
1010 "path"
1111 "path/filepath"
12+ "runtime"
1213
1314 "github.com/fatih/color"
1415)
1516
17+ var (
18+ name = "videotranscoder"
19+ build = "none"
20+ version = "dev-build"
21+ goVersion = runtime .Version ()
22+ versionStr = fmt .Sprintf ("%s version %v, build %v %v" , name , version , build , goVersion )
23+ )
24+
1625func parseCliArguments () (string , string , bool ) {
1726 var sourcePath string
1827 var targetPath string
1928 var overwriteExisting bool
29+ var printVersion bool
30+ var printHelp bool
2031
2132 flag .StringVar (& sourcePath , "source" , "" , "Path to source folder" )
2233 flag .StringVar (& targetPath , "target" , "" , "Path to target folder" )
23- flag .BoolVar (& overwriteExisting , "overwrite" , false , "Overwrite existing files" )
34+ flag .BoolVar (& overwriteExisting , "overwrite" , false , "Overwrite existing files in the target folder" )
35+ flag .BoolVar (& printVersion , "version" , false , "Print version information" )
36+ flag .BoolVar (& printHelp , "help" , false , "Print help and usage information" )
2437
2538 flag .Parse ()
2639
40+ if printVersion {
41+ fmt .Println (versionStr )
42+ os .Exit (0 )
43+ }
44+
45+ if printHelp {
46+ fmt .Printf ("%s - transcode media to Apple's ProRes encoding\n " , name )
47+ fmt .Printf ("usage: %s -source /path/to/media/files -target /path/to/output/folder\n \n " , name )
48+ fmt .Println ("options:" )
49+ flag .PrintDefaults ()
50+ fmt .Println (versionStr )
51+ os .Exit (0 )
52+ }
53+
2754 if sourcePath == "" {
28- fmt .Fprintf (os .Stderr , "missing required -source argument\n " )
55+ fmt .Fprintf (os .Stderr , "missing required -source argument\n try '%s -help' for usage information \n " , name )
2956 os .Exit (2 )
3057 }
3158 if targetPath == "" {
32- fmt .Fprintf (os .Stderr , "missing required -target argument\n " )
59+ fmt .Fprintf (os .Stderr , "missing required -target argument\n try '%s -help' for usage information \n " , name )
3360 os .Exit (2 )
3461 }
3562
0 commit comments