@@ -42,7 +42,10 @@ func (i ImageType) Enable() []string {
42
42
43
43
// ConvertAll convert all image files in dirs
44
44
func ConvertAll (dirs []string , iType ImageType , oType ImageType ) error {
45
- files := AllImageFiles (dirs )
45
+ files , err := AllImageFiles (dirs )
46
+ if err != nil {
47
+ return err
48
+ }
46
49
files = ExpectedImageFiles (files , iType )
47
50
fmt .Printf ("%q\n " , files )
48
51
@@ -54,13 +57,13 @@ func ConvertAll(dirs []string, iType ImageType, oType ImageType) error {
54
57
i , err := os .Open (iPath )
55
58
if err != nil {
56
59
fmt .Fprintln (os .Stderr , err )
57
- os . Exit ( 1 )
60
+ return err
58
61
}
59
62
60
63
err = os .MkdirAll (filepath .Dir (oPath ), 0755 )
61
64
if err != nil {
62
65
fmt .Fprintln (os .Stderr , err )
63
- os . Exit ( 1 )
66
+ return err
64
67
}
65
68
66
69
w , err := os .Create (oPath )
@@ -73,13 +76,13 @@ func ConvertAll(dirs []string, iType ImageType, oType ImageType) error {
73
76
}()
74
77
if err != nil {
75
78
fmt .Fprintln (os .Stderr , err )
76
- os . Exit ( 1 )
79
+ return err
77
80
}
78
81
79
82
err = Convert (i , w , t )
80
83
if err != nil {
81
84
fmt .Fprintln (os .Stderr , err )
82
- os . Exit ( 1 )
85
+ return err
83
86
}
84
87
oFiles = append (oFiles , oPath )
85
88
}
@@ -88,8 +91,9 @@ func ConvertAll(dirs []string, iType ImageType, oType ImageType) error {
88
91
return nil
89
92
}
90
93
91
- func AllImageFiles (dirs []string ) (files []string ) {
94
+ func AllImageFiles (dirs []string ) ([]string , error ) {
92
95
// 3. ディレクトリ以下は再帰的に処理する
96
+ var files []string
93
97
for _ , dir := range dirs {
94
98
err := filepath .Walk (dir , func (path string , info os.FileInfo , err error ) error {
95
99
if info .IsDir () {
@@ -104,10 +108,10 @@ func AllImageFiles(dirs []string) (files []string) {
104
108
})
105
109
if err != nil {
106
110
fmt .Fprintln (os .Stderr , err )
107
- os . Exit ( 1 )
111
+ return nil , err
108
112
}
109
113
}
110
- return files
114
+ return files , nil
111
115
}
112
116
113
117
func ExpectedImageFiles (files []string , iType ImageType ) (f []string ) {
@@ -125,7 +129,7 @@ func IsImage(path string) bool {
125
129
r , err := os .Open (path )
126
130
if err != nil {
127
131
fmt .Fprintln (os .Stderr , err )
128
- os . Exit ( 1 )
132
+ return false
129
133
}
130
134
defer r .Close ()
131
135
@@ -140,7 +144,7 @@ func IsExpectedImage(path string, iType ImageType) bool {
140
144
r , err := os .Open (path )
141
145
if err != nil {
142
146
fmt .Fprintln (os .Stderr , err )
143
- os . Exit ( 1 )
147
+ return false
144
148
}
145
149
defer r .Close ()
146
150
0 commit comments