Exemple #1
0
        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);
        }
Exemple #2
0
        public override void OnReleaseImport(BookDownloadMessage message)
        {
            const string header = "Readarr - Downloaded";

            Notify(Settings, header, message.Message);
            Update();
        }
Exemple #3
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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);
        }
Exemple #10
0
        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);
        }
Exemple #11
0
        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);
                }
            }
        }
Exemple #12
0
        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
                }
            };
        }
Exemple #14
0
 public override void OnImportFailure(BookDownloadMessage message)
 {
     _twitterService.SendNotification($"Import Failed: {message.Message}", Settings);
 }
Exemple #15
0
 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");
 }
Exemple #18
0
 public override void OnReleaseImport(BookDownloadMessage message)
 {
     _proxy.SendNotification(BOOK_DOWNLOADED_TITLE, message.Message, Settings);
 }
Exemple #19
0
 public override void OnReleaseImport(BookDownloadMessage message)
 {
     _twitterService.SendNotification($"Imported: {message.Message}", Settings);
 }
Exemple #20
0
 public override void OnImportFailure(BookDownloadMessage message)
 {
     _proxy.SendNotification(IMPORT_FAILURE_TITLE, message.Message, Settings);
 }
Exemple #21
0
        public override void OnReleaseImport(BookDownloadMessage message)
        {
            var bookId = message.Book.Editions.Value.Single(x => x.Monitored).ForeignEditionId;

            AddOwnedBook(bookId);
        }