Verbose capabilities + empty gallery dir creation

pull/3/head
Toni Melisma 4 years ago
parent bca152ea7e
commit 700982673e
No known key found for this signature in database
GPG Key ID: FFF9A7EDDEA34756

@ -48,14 +48,16 @@ const imageWorkerPoolSize = 5
var optIgnoreVideos = false
var optDryRun = false
var optVerbose = false
var optCleanUp = false
// this function parses command-line arguments
func parseArgs() (inputDirectory string, outputDirectory string) {
outputDirectoryPtr := flag.String("o", ".", "Output root directory for gallery")
optIgnoreVideosPtr := flag.Bool("v", false, "Ignore video files")
optIgnoreVideosPtr := flag.Bool("i", false, "Ignore video files")
optCleanUpPtr := flag.Bool("c", false, "Clean up - delete stale media files from output directory")
optDryRunPtr := flag.Bool("d", false, "Dry run - don't make changes, only explain what would be done")
optVerbosePtr := flag.Bool("v", false, "Verbose - explain what's happening all the time")
flag.Usage = func() {
fmt.Fprintf(os.Stderr, "Usage: %s [OPTION]... DIRECTORY\n\n", os.Args[0])
@ -84,11 +86,6 @@ func parseArgs() (inputDirectory string, outputDirectory string) {
os.Exit(1)
}
if _, err := os.Stat(*outputDirectoryPtr); os.IsNotExist(err) {
fmt.Fprintf(os.Stderr, "%s: Directory does not exist: %s\n", os.Args[0], *outputDirectoryPtr)
os.Exit(1)
}
if isEmptyDir(flag.Args()[0]) {
fmt.Fprintf(os.Stderr, "%s: Input directory is empty: %s\n", os.Args[0], flag.Args()[0])
os.Exit(1)
@ -102,6 +99,10 @@ func parseArgs() (inputDirectory string, outputDirectory string) {
optCleanUp = true
}
if *optVerbosePtr {
optVerbose = true
}
if *optIgnoreVideosPtr {
optIgnoreVideos = true
} else {
@ -833,11 +834,20 @@ func main() {
}
fmt.Println("")
// create gallery directory if it doesn't exist
createDirectory(outputDirectory)
// check that source directory doesn't have reserved directory or file names
checkReservedNames(inputDirectory)
// create directory structs by recursing through source and gallery directories
gallery = recurseDirectory(outputDirectory, "")
if _, err := os.Stat(outputDirectory); os.IsNotExist(err) {
// gallery.name = filepath.Base(outputDirectory)
// gallery.absPath, _ = filepath.Abs(outputDirectory)
// gallery.relPath = ""
} else {
gallery = recurseDirectory(outputDirectory, "")
}
source = recurseDirectory(inputDirectory, "")
// check whether gallery already has up-to-date pictures of sources,
@ -870,7 +880,11 @@ func main() {
if !optDryRun {
fmt.Println("Creating gallery...")
progressBar = pb.StartNew(changes)
vips.LoggingSettings(nil, vips.LogLevelMessage)
if optVerbose {
vips.LoggingSettings(nil, vips.LogLevelDebug)
} else {
vips.LoggingSettings(nil, vips.LogLevelMessage)
}
vips.Startup(nil)
defer vips.Shutdown()
}

@ -4,10 +4,12 @@ go 1.15
require (
github.com/cheggaaa/pb/v3 v3.0.5
github.com/davidbyttow/govips/v2 v2.1.0
github.com/davidbyttow/govips/v2 v2.1.1-0.20201208200022-af2246fbafa8
github.com/fatih/color v1.10.0 // indirect
github.com/mattn/go-runewidth v0.0.9 // indirect
github.com/stretchr/testify v1.6.1
golang.org/x/image v0.0.0-20201208152932-35266b937fa6 // indirect
golang.org/x/net v0.0.0-20201207224615-747e23833adb // indirect
golang.org/x/sys v0.0.0-20201101102859-da207088b7d1 // indirect
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect
)

@ -9,6 +9,8 @@ github.com/davidbyttow/govips/v2 v2.0.3-0.20201110212606-9418e4e2de8b h1:3G5u3xP
github.com/davidbyttow/govips/v2 v2.0.3-0.20201110212606-9418e4e2de8b/go.mod h1:goq38QD8XEMz2aWEeucEZqRxAWsemIN40vbUqfPfTAw=
github.com/davidbyttow/govips/v2 v2.1.0 h1:n18SBq7dnjvW1+WKk65tnuF9IBaA4A1YHYrQ1iKZ28g=
github.com/davidbyttow/govips/v2 v2.1.0/go.mod h1:goq38QD8XEMz2aWEeucEZqRxAWsemIN40vbUqfPfTAw=
github.com/davidbyttow/govips/v2 v2.1.1-0.20201208200022-af2246fbafa8 h1:LCkxo9DUCTeYd+D2CpxXy20ngrrqDO2u+z0J3fWRo/c=
github.com/davidbyttow/govips/v2 v2.1.1-0.20201208200022-af2246fbafa8/go.mod h1:goq38QD8XEMz2aWEeucEZqRxAWsemIN40vbUqfPfTAw=
github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.10.0 h1:s36xzo75JdqLaaWoiEHk767eHiwo0598uUxyfiPkDsg=
@ -38,9 +40,13 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/image v0.0.0-20200927104501-e162460cd6b5 h1:QelT11PB4FXiDEXucrfNckHoFxwt8USGY1ajP1ZF5lM=
golang.org/x/image v0.0.0-20200927104501-e162460cd6b5/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/image v0.0.0-20201208152932-35266b937fa6 h1:nfeHNc1nAqecKCy2FCy4HY+soOOe5sDLJ/gZLbx6GYI=
golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20201031054903-ff519b6c9102 h1:42cLlJJdEh+ySyeUUbEQ5bsTiq8voBeTuweGVkY6Puw=
golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201207224615-747e23833adb h1:xj2oMIbduz83x7tzglytWT7spn6rP+9hvKjTpro6/pM=
golang.org/x/net v0.0.0-20201207224615-747e23833adb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=

Loading…
Cancel
Save