docs: RecitationsHealthCheck: trying to fix corrupt files issues
This commit is contained in:
parent
8cfccfc064
commit
2abf30ac8f
@ -2158,6 +2158,7 @@ namespace RMuseum.Services.Implementationa
|
||||
{
|
||||
var recitations = await context.Recitations.Where(s => s.ReviewStatus == AudioReviewStatus.Approved).AsNoTracking().ToArrayAsync();
|
||||
int progress = 0;
|
||||
List<string> replacedFiles = new List<string>();
|
||||
for (int i = 0; i < recitations.Length; i++)
|
||||
{
|
||||
var recitation = recitations[i];
|
||||
@ -2183,17 +2184,26 @@ namespace RMuseum.Services.Implementationa
|
||||
PoemAudio audio = PoemAudioListProcessor.Load(recitation.LocalXmlFilePath).First();
|
||||
if (audio.FileCheckSum != mp3CheckSum)
|
||||
{
|
||||
RecitationErrorReport error = new RecitationErrorReport()
|
||||
string backupFile = recitation.LocalMp3FilePath.Replace("C:\\inetpub\\iganjoor", "C:\\audiobackups-restored");
|
||||
if(File.Exists(backupFile))
|
||||
{
|
||||
RecitationId = recitation.Id,
|
||||
CoupletIndex = -1,
|
||||
NumberOfLinesAffected = 0,
|
||||
ReporterId = userId,
|
||||
ReasonText = "سلامتسنجی فایلها: امضای فایل mp3 با امضای ثبت شده در xml متفاوت است. شاید فایل خراب شده باشد.",
|
||||
DateTime = DateTime.Now
|
||||
};
|
||||
File.Copy(backupFile, recitation.LocalMp3FilePath, true);
|
||||
replacedFiles.Add(recitation.LocalMp3FilePath);
|
||||
}
|
||||
else
|
||||
{
|
||||
RecitationErrorReport error = new RecitationErrorReport()
|
||||
{
|
||||
RecitationId = recitation.Id,
|
||||
CoupletIndex = -1,
|
||||
NumberOfLinesAffected = 0,
|
||||
ReporterId = userId,
|
||||
ReasonText = "سلامتسنجی فایلها: امضای فایل mp3 با امضای ثبت شده در xml متفاوت است. شاید فایل خراب شده باشد.",
|
||||
DateTime = DateTime.Now
|
||||
};
|
||||
|
||||
context.RecitationErrorReports.Add(error);
|
||||
context.RecitationErrorReports.Add(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2203,6 +2213,10 @@ namespace RMuseum.Services.Implementationa
|
||||
await jobProgressServiceEF.UpdateJob(job.Id, progress);
|
||||
}
|
||||
}
|
||||
if(replacedFiles.Count > 0)
|
||||
{
|
||||
File.WriteAllLines("C:\\audiobackups-restored\\list.txt", replacedFiles.ToArray());
|
||||
}
|
||||
await jobProgressServiceEF.UpdateJob(job.Id, 100, "", true);
|
||||
}
|
||||
catch (Exception exp)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user