diff --git a/Aaru.Core/Statistics.cs b/Aaru.Core/Statistics.cs
index fa694f41e..311d92fd5 100644
--- a/Aaru.Core/Statistics.cs
+++ b/Aaru.Core/Statistics.cs
@@ -664,4 +664,32 @@ public static class Statistics
AaruLogging.Exception(ex, Localization.Core.Exception_while_trying_to_save_statistics);
}
}
+
+ /// Ads a new archive to statistics
+ /// Archive format name
+ public static void AddArchiveFormat(string format)
+ {
+ if(string.IsNullOrWhiteSpace(format)) return;
+
+ if(Settings.Settings.Current.Stats is not { MediaStats: true }) return;
+
+ using var ctx = AaruContext.Create(Settings.Settings.LocalDbPath);
+
+ ctx.Archives.Add(new Archive
+ {
+ Name = format,
+ Synchronized = false,
+ Count = 1
+ });
+
+ try
+ {
+ ctx.SaveChanges();
+ }
+ catch(SqliteException ex)
+ {
+ AaruLogging.Debug(MODULE_NAME, Localization.Core.Exception_while_trying_to_save_statistics);
+ AaruLogging.Exception(ex, Localization.Core.Exception_while_trying_to_save_statistics);
+ }
+ }
}
\ No newline at end of file
diff --git a/Aaru/Commands/Archive/Extract.cs b/Aaru/Commands/Archive/Extract.cs
index de5fab8aa..87395f296 100644
--- a/Aaru/Commands/Archive/Extract.cs
+++ b/Aaru/Commands/Archive/Extract.cs
@@ -143,8 +143,7 @@ sealed class ArchiveExtractCommand : Command
AaruLogging.Debug(MODULE_NAME, UI.Correctly_opened_archive_file);
- // TODO: Implement
- //Statistics.AddArchiveFormat(archive.Name);
+ Statistics.AddArchiveFormat(archive.Name);
Statistics.AddFilter(inputFilter.Name);
}
catch(Exception ex)
diff --git a/Aaru/Commands/Archive/Info.cs b/Aaru/Commands/Archive/Info.cs
index a15866add..59ddc23c1 100644
--- a/Aaru/Commands/Archive/Info.cs
+++ b/Aaru/Commands/Archive/Info.cs
@@ -121,8 +121,7 @@ sealed class ArchiveInfoCommand : Command
ArchiveInfo.PrintArchiveInfo(archiveFormat, inputFilter, encodingClass);
});
- // TODO: Implement
- //Statistics.AddArchiveFormat(archiveFormat.Format);
+ Statistics.AddArchiveFormat(archiveFormat.Name);
Statistics.AddFilter(inputFilter.Name);
}
catch(Exception ex)
diff --git a/Aaru/Commands/Archive/List.cs b/Aaru/Commands/Archive/List.cs
index 2db21396d..8409d0d09 100644
--- a/Aaru/Commands/Archive/List.cs
+++ b/Aaru/Commands/Archive/List.cs
@@ -140,8 +140,7 @@ sealed class ArchiveListCommand : Command
AaruLogging.Debug(MODULE_NAME, UI.Correctly_opened_archive_file);
- // TODO: Implement
- //Statistics.AddArchiveFormat(archive.Name);
+ Statistics.AddArchiveFormat(archive.Name);
Statistics.AddFilter(inputFilter.Name);
}
catch(Exception ex)