@@ -51,7 +51,7 @@ module Program =
51
51
| true , false -> getFilesAsBooks path
52
52
| false , true -> getSubFoldersAsBooks path
53
53
| true , true -> getFilesAsBookAndSubFoldersAsBooks path
54
- let files = files |> List.map ( IO.filterMp3Files) |> List.skipEmpty
54
+ let files = files |> List.map IO.filterMp3Files |> List.skipEmpty
55
55
return ! files |> List.map createBook |> List.sequenceResultM
56
56
}
57
57
@@ -351,7 +351,7 @@ module Program =
351
351
352
352
let filter = match config.ListMissing with
353
353
| false -> id
354
- | true -> List.filter ( IO.fileDoesNotExist)
354
+ | true -> List.filter IO.fileDoesNotExist
355
355
let files = books |> List.collect ( fun book -> book |> Audiobook.allFiles |> filter |> List.map ( sprintf " \" %s \" " ))
356
356
357
357
let separator = match config.Separator with
@@ -372,6 +372,12 @@ module Program =
372
372
do ! metadata |> List.map ( TagLib.writeMetaData writeConfig) |> List.sequenceResultM |> Result.map ignore
373
373
}
374
374
375
+ let listDetails ( config : Config.DetailsConfig ) ( library : Library.Library ) =
376
+ result {
377
+ let! books = library |> Library.findByIds config.Ids
378
+ do books |> List.iter ( Audiobook.details >> List.iter Console.WriteLine)
379
+ }
380
+
375
381
let migrateLibrary ( libraryFile : string ) _ =
376
382
result {
377
383
// Make sure the config no longer uses the `LastScanned` field.
@@ -463,17 +469,19 @@ module Program =
463
469
| Config.Files filesConfig ->
464
470
let! string = listFiles config.LibraryFile filesConfig
465
471
if String.IsNullOrWhiteSpace( string) then ()
466
- else do printfn " %s " string
472
+ else do Console.WriteLine ( string)
467
473
| Config.Unmatched unmatchedConfig ->
468
474
return ! ( runOnExisting ( unmatched unmatchedConfig config.LibraryFile))
469
475
| Config.Uninitialized ->
470
- do printfn " %s " ( parser.PrintUsage())
476
+ do Console.WriteLine ( parser.PrintUsage())
471
477
| Config.Write writeConfig ->
472
478
return ! ( runOnExisting ( write writeConfig))
473
479
| Config.Migrate ->
474
480
return ! ( runOnExisting ( migrateLibrary config.LibraryFile))
481
+ | Config.Details detailsConfig ->
482
+ return ! ( runOnExisting ( listDetails detailsConfig))
475
483
| Config.Version ->
476
- do printfn " %s " Version.current
484
+ do Console.WriteLine ( Version.current)
477
485
}
478
486
479
487
match r with
0 commit comments