various NFOguard versions
This commit is contained in:
@@ -14,6 +14,7 @@ namespace NFOGuard.Emby.Plugin
|
||||
private readonly IItemRepository _itemRepository;
|
||||
private readonly ILogger _logger;
|
||||
private readonly LicenseManager _licenseManager;
|
||||
private readonly FreeTierManager _freeTierManager;
|
||||
|
||||
public LibraryEventHandler(ILibraryManager libraryManager, IItemRepository itemRepository, ILogger logger)
|
||||
{
|
||||
@@ -21,6 +22,7 @@ namespace NFOGuard.Emby.Plugin
|
||||
_itemRepository = itemRepository;
|
||||
_logger = logger;
|
||||
_licenseManager = new LicenseManager(_logger);
|
||||
_freeTierManager = new FreeTierManager(_logger);
|
||||
|
||||
// Subscribe to library events
|
||||
_libraryManager.ItemAdded += OnItemAdded;
|
||||
@@ -45,13 +47,21 @@ namespace NFOGuard.Emby.Plugin
|
||||
if (!Plugin.Instance.Configuration.EnableRealTimeSync)
|
||||
return;
|
||||
|
||||
// TODO: Re-enable licensing when ready for production
|
||||
// Check license/trial status
|
||||
// if (!_licenseManager.CanUseFeature())
|
||||
// {
|
||||
// _logger.Info("NFOGuard :: License expired or invalid. Please purchase a license to continue using NFOGuard.");
|
||||
// return;
|
||||
// }
|
||||
// Free tier: disable real-time processing
|
||||
var config = Plugin.Instance.Configuration;
|
||||
if (config.MonthlyProcessingLimit > 0 && !config.LicenseValid)
|
||||
{
|
||||
if (Plugin.Instance.Configuration.LogVerbose)
|
||||
_logger.Info($"NFOGuard :: Real-time processing disabled in free tier. Use scheduled task instead.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if we can process this item
|
||||
if (!_freeTierManager.CanProcessItems(1, out string reason))
|
||||
{
|
||||
_logger.Info($"NFOGuard :: Skipping real-time processing: {reason}");
|
||||
return;
|
||||
}
|
||||
|
||||
// Process TV episodes and Movies
|
||||
if (item is Episode episode)
|
||||
@@ -92,6 +102,9 @@ namespace NFOGuard.Emby.Plugin
|
||||
// Save to repository using ItemUpdateType.MetadataEdit
|
||||
episode.UpdateToRepository(ItemUpdateType.MetadataEdit);
|
||||
_logger.Info($"NFOGuard :: Successfully updated episode :: {episode.Name}");
|
||||
|
||||
// Record usage for free tier tracking
|
||||
_freeTierManager.RecordProcessedItems(1);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -128,6 +141,9 @@ namespace NFOGuard.Emby.Plugin
|
||||
// Save to repository using ItemUpdateType.MetadataEdit
|
||||
movie.UpdateToRepository(ItemUpdateType.MetadataEdit);
|
||||
_logger.Info($"NFOGuard :: Successfully updated movie :: {movie.Name}");
|
||||
|
||||
// Record usage for free tier tracking
|
||||
_freeTierManager.RecordProcessedItems(1);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user