public override void OnReleaseImport(BookDownloadMessage message) { var author = message.Author; var book = message.Book; var variables = new StringDictionary(); variables.Add("Readarr_EventType", "Download"); variables.Add("Readarr_Author_Id", author.Id.ToString()); variables.Add("Readarr_Author_Name", author.Metadata.Value.Name); variables.Add("Readarr_Author_Path", author.Path); variables.Add("Readarr_Author_GRId", author.Metadata.Value.ForeignAuthorId); variables.Add("Readarr_Book_Id", book.Id.ToString()); variables.Add("Readarr_Book_Title", book.Title); variables.Add("Readarr_Book_GRId", book.Editions.Value.Single(e => e.Monitored).ForeignEditionId.ToString()); variables.Add("Readarr_Book_ReleaseDate", book.ReleaseDate.ToString()); variables.Add("Readarr_Download_Client", message.DownloadClient ?? string.Empty); variables.Add("Readarr_Download_Id", message.DownloadId ?? string.Empty); if (message.BookFiles.Any()) { variables.Add("Readarr_AddedBookPaths", string.Join("|", message.BookFiles.Select(e => e.Path))); } if (message.OldFiles.Any()) { variables.Add("Readarr_DeletedPaths", string.Join("|", message.OldFiles.Select(e => e.Path))); } _proxy.SendNotification(variables, Settings); }
public override void OnReleaseImport(BookDownloadMessage message) { const string header = "Readarr - Downloaded"; Notify(Settings, header, message.Message); Update(); }
public override void OnReleaseImport(BookDownloadMessage message) { var author = message.Author; var book = message.Book; var environmentVariables = new StringDictionary(); environmentVariables.Add("Readarr_EventType", "Download"); environmentVariables.Add("Readarr_Author_Id", author.Id.ToString()); environmentVariables.Add("Readarr_Author_Name", author.Metadata.Value.Name); environmentVariables.Add("Readarr_Author_Path", author.Path); environmentVariables.Add("Readarr_Author_GRId", author.Metadata.Value.ForeignAuthorId); environmentVariables.Add("Readarr_Book_Id", book.Id.ToString()); environmentVariables.Add("Readarr_Book_Title", book.Title); environmentVariables.Add("Readarr_Book_GRId", book.ForeignBookId); environmentVariables.Add("Readarr_Book_ReleaseDate", book.ReleaseDate.ToString()); environmentVariables.Add("Readarr_Download_Client", message.DownloadClient ?? string.Empty); environmentVariables.Add("Readarr_Download_Id", message.DownloadId ?? string.Empty); if (message.BookFiles.Any()) { environmentVariables.Add("Readarr_AddedBookPaths", string.Join("|", message.BookFiles.Select(e => e.Path))); } if (message.OldFiles.Any()) { environmentVariables.Add("Readarr_DeletedPaths", string.Join("|", message.OldFiles.Select(e => e.Path))); } ExecuteScript(environmentVariables); }
public override void OnReleaseImport(BookDownloadMessage message) { var bookId = message.Book.Editions.Value.Single(x => x.Monitored).ForeignEditionId; RemoveBookFromShelves(bookId, Settings.RemoveIds); AddToShelves(bookId, Settings.AddIds); }
public override void OnReleaseImport(BookDownloadMessage message) { var body = $"{message.Message} Downloaded and sorted."; var paths = Settings.AttachFiles ? message.BookFiles.SelectList(a => a.Path) : null; _emailService.SendEmail(Settings, BOOK_DOWNLOADED_TITLE_BRANDED, body, false, paths); }
public override void OnReleaseImport(BookDownloadMessage message) { var bookFiles = message.BookFiles; var payload = new WebhookImportPayload { EventType = "Download", Author = new WebhookAuthor(message.Author), Book = new WebhookBook(message.Book), BookFiles = bookFiles.ConvertAll(x => new WebhookBookFile(x)), IsUpgrade = message.OldFiles.Any() }; _proxy.SendWebhook(payload, Settings); }
public override void OnImportFailure(BookDownloadMessage message) { var attachments = new List <Attachment> { new Attachment { Fallback = message.Message, Text = message.Message, Color = "warning" } }; var payload = CreatePayload($"Import Failed: {message.Message}", attachments); _proxy.SendPayload(payload, Settings); }
public override void OnReleaseImport(BookDownloadMessage message) { var attachments = new List <Attachment> { new Attachment { Fallback = message.Message, Title = message.Author.Name, Text = message.Message, Color = "good" } }; var payload = CreatePayload($"Imported: {message.Message}", attachments); _proxy.SendPayload(payload, Settings); }
public override void OnReleaseImport(BookDownloadMessage message) { var attachments = new List <Embed> { new Embed { Description = message.Message, Title = message.Author.Name, Text = message.Message, Color = (int)DiscordColors.Success } }; var payload = CreatePayload($"Imported: {message.Message}", attachments); _proxy.SendPayload(payload, Settings); }
public override void OnImportFailure(BookDownloadMessage message) { var attachments = new List <Embed> { new Embed { Description = message.Message, Title = message.Book.Title, Text = message.Message, Color = (int)DiscordColors.Warning } }; var payload = CreatePayload($"Import Failed: {message.Message}", attachments); _proxy.SendPayload(payload, Settings); }
public override void OnReleaseImport(BookDownloadMessage message) { if (Settings.UpdateLibrary) { foreach (var oldFile in message.OldFiles) { var fullPath = oldFile.Path; _indexerProxy.DeleteFile(fullPath); } foreach (var newFile in message.BookFiles) { var fullPath = newFile.Path; _indexerProxy.AddFile(fullPath); } } }
public override void OnReleaseImport(BookDownloadMessage message) { var importedBook = message.Book; foreach (var shelf in Settings.RemoveIds) { // try to find the edition that we need to remove var listBooks = SearchShelf(shelf, importedBook.AuthorMetadata.Value.Name); var toRemove = listBooks.Where(x => x.Book.WorkId.ToString() == importedBook.ForeignBookId); foreach (var listBook in toRemove) { RemoveBookFromShelves(listBook.Book.Id, shelf); } } var bookId = importedBook.Editions.Value.Single(x => x.Monitored).ForeignEditionId; AddToShelves(bookId, Settings.AddIds); }
public void SetUp() { _artist = new Author() { Path = _rootPath, }; _upgrade = new BookDownloadMessage() { Author = _artist, BookFiles = new List <BookFile> { new BookFile { Path = Path.Combine(_rootPath, "file1.S01E01E02.mkv") } }, OldFiles = new List <BookFile> { new BookFile { Path = Path.Combine(_rootPath, "file1.S01E01.mkv") }, new BookFile { Path = Path.Combine(_rootPath, "file1.S01E02.mkv") } } }; Subject.Definition = new NotificationDefinition { Settings = new SynologyIndexerSettings { UpdateLibrary = true } }; }
public override void OnImportFailure(BookDownloadMessage message) { _twitterService.SendNotification($"Import Failed: {message.Message}", Settings); }
public override void OnImportFailure(BookDownloadMessage message) { _emailService.SendEmail(Settings, IMPORT_FAILURE_TITLE_BRANDED, message.Message); }
public override void OnReleaseImport(BookDownloadMessage message) { TestLogger.Info("OnAlbumDownload was called"); }
public override void OnImportFailure(BookDownloadMessage message) { TestLogger.Info("OnImportFailure was called"); }
public override void OnReleaseImport(BookDownloadMessage message) { _proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings); }
public override void OnReleaseImport(BookDownloadMessage message) { _twitterService.SendNotification($"Imported: {message.Message}", Settings); }
public override void OnImportFailure(BookDownloadMessage message) { _proxy.SendNotification(IMPORT_FAILURE_TITLE, message.Message, Settings); }
public override void OnReleaseImport(BookDownloadMessage message) { var bookId = message.Book.Editions.Value.Single(x => x.Monitored).ForeignEditionId; AddOwnedBook(bookId); }