|
61 | 61 |
|
62 | 62 | class Title
|
63 | 63 | JSON.mapping dir: String, entries: Array(Entry), title: String,
|
64 |
| - id: String, encoded_title: String, mtime: Time |
| 64 | + id: String, encoded_title: String, mtime: Time, logger: MLogger |
65 | 65 |
|
66 |
| - def initialize(dir : String, storage) |
| 66 | + def initialize(dir : String, storage, @logger : MLogger) |
67 | 67 | @dir = dir
|
68 | 68 | @id = storage.get_id @dir, true
|
69 | 69 | @title = File.basename dir
|
@@ -91,6 +91,8 @@ class Title
|
91 | 91 | file.close
|
92 | 92 | return true
|
93 | 93 | rescue
|
| 94 | + @logger.warn "File #{path} is corrupted or is not a valid zip "\ |
| 95 | + "archive. Ignoring it." |
94 | 96 | return false
|
95 | 97 | end
|
96 | 98 | end
|
@@ -200,7 +202,7 @@ class Library
|
200 | 202 | end
|
201 | 203 | @titles = (Dir.entries @dir)
|
202 | 204 | .select { |path| File.directory? File.join @dir, path }
|
203 |
| - .map { |path| Title.new File.join(@dir, path), @storage } |
| 205 | + .map { |path| Title.new File.join(@dir, path), @storage, @logger } |
204 | 206 | .select { |title| !title.entries.empty? }
|
205 | 207 | .sort { |a, b| a.title <=> b.title }
|
206 | 208 | @logger.debug "Scan completed"
|
|
0 commit comments