using Dinah.Core; namespace ApplicationServices; /// /// What to tell the user about titles a run left alone because the last library scan did not find them. /// /// Audible will not license a title it no longer lists for the account - a returned title, or one that has /// left the Plus catalog - so attempting one collects a refusal every run and downloads nothing. Both hosts /// say it in these words so that the same skip does not read as two different things. /// /// public static class AbsentFromLastScanUserMessage { /// The reason, short enough to head a list of skip reasons. public const string Label = "Absent from your last library scan"; /// What to do about it. public const string Advice = "run Scan, or `libationcli scan`, then try again"; /// The line a CLI run prints in place of attempting them. public static string BuildCliSkippedSummary(int count) => $"Skipped {"title".PluralizeWithCount(count)} absent from your last library scan. " + $"Audible will not license a title it no longer lists, so {Advice}. To attempt them anyway: libationcli liberate --force."; }