diff options
Diffstat (limited to 'src/database.rs')
| -rw-r--r-- | src/database.rs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/database.rs b/src/database.rs index 01bee92..e6f6f6e 100644 --- a/src/database.rs +++ b/src/database.rs | |||
| @@ -145,20 +145,30 @@ impl Database { | |||
| 145 | .unwrap() | 145 | .unwrap() |
| 146 | .as_secs() as i64; | 146 | .as_secs() as i64; |
| 147 | 147 | ||
| 148 | self.scan_recursive(dir, now, force)?; | 148 | let mut count = 0u64; |
| 149 | self.scan_recursive(dir, now, force, &mut count)?; | ||
| 150 | eprintln!("Scanned {} tracks in {:?}", count, dir); | ||
| 149 | self.cleanup_old_tracks(now)?; | 151 | self.cleanup_old_tracks(now)?; |
| 150 | Ok(()) | 152 | Ok(()) |
| 151 | } | 153 | } |
| 152 | 154 | ||
| 153 | fn scan_recursive(&self, dir: &Path, scan_time: i64, force: bool) -> SqlResult<()> { | 155 | fn scan_recursive( |
| 156 | &self, | ||
| 157 | dir: &Path, | ||
| 158 | scan_time: i64, | ||
| 159 | force: bool, | ||
| 160 | count: &mut u64, | ||
| 161 | ) -> SqlResult<()> { | ||
| 154 | let entries = fs::read_dir(dir).ok(); | 162 | let entries = fs::read_dir(dir).ok(); |
| 155 | if let Some(entries) = entries { | 163 | if let Some(entries) = entries { |
| 156 | for entry in entries.flatten() { | 164 | for entry in entries.flatten() { |
| 157 | let path = entry.path(); | 165 | let path = entry.path(); |
| 158 | if path.is_dir() { | 166 | if path.is_dir() { |
| 159 | self.scan_recursive(&path, scan_time, force)?; | 167 | self.scan_recursive(&path, scan_time, force, count)?; |
| 160 | } else if is_audio_file(&path) { | 168 | } else if is_audio_file(&path) { |
| 161 | self.process_audio_file(&path, scan_time, force)?; | 169 | self.process_audio_file(&path, scan_time, force)?; |
| 170 | *count += 1; | ||
| 171 | eprintln!("Found {} tracks...", count); | ||
| 162 | } | 172 | } |
| 163 | } | 173 | } |
| 164 | } | 174 | } |
