mirror of
https://github.com/Radarr/Radarr
synced 2026-01-23 07:54:53 +01:00
chore: P2/P3 code cleanup batch (#138)
- Remove unused RemoveTitle() methods from AlternativeTitleService, MovieTranslationService, CreditService - Clean commented-out code blocks in EventAggregator, Pneumatic, MovieStatisticsFixture - Consolidate 4 duplicate TagsModalContent.css files into shared Components/Styles module - Fix BaseMediaService StyleCop violations (SA1127, SA1502) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: admin <admin@ardentleatherworks.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
330ed32f11
commit
209fd28062
19 changed files with 34 additions and 137 deletions
|
|
@ -1,9 +1,9 @@
|
|||
// This file is automatically generated.
|
||||
// Please do not change this file!
|
||||
interface CssExports {
|
||||
'message': string;
|
||||
'renameIcon': string;
|
||||
'result': string;
|
||||
message: string;
|
||||
renameIcon: string;
|
||||
result: string;
|
||||
}
|
||||
export const cssExports: CssExports;
|
||||
export default cssExports;
|
||||
|
|
@ -12,12 +12,12 @@ import ModalBody from 'Components/Modal/ModalBody';
|
|||
import ModalContent from 'Components/Modal/ModalContent';
|
||||
import ModalFooter from 'Components/Modal/ModalFooter';
|
||||
import ModalHeader from 'Components/Modal/ModalHeader';
|
||||
import styles from 'Components/Styles/TagsModalContent.css';
|
||||
import { inputTypes, kinds, sizes } from 'Helpers/Props';
|
||||
import Movie from 'Movie/Movie';
|
||||
import createAllMoviesSelector from 'Store/Selectors/createAllMoviesSelector';
|
||||
import createTagsSelector from 'Store/Selectors/createTagsSelector';
|
||||
import translate from 'Utilities/String/translate';
|
||||
import styles from './TagsModalContent.css';
|
||||
|
||||
interface TagsModalContentProps {
|
||||
movieIds: number[];
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
.renameIcon {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.message {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.result {
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
// This file is automatically generated.
|
||||
// Please do not change this file!
|
||||
interface CssExports {
|
||||
'message': string;
|
||||
'renameIcon': string;
|
||||
'result': string;
|
||||
}
|
||||
export const cssExports: CssExports;
|
||||
export default cssExports;
|
||||
|
|
@ -14,11 +14,11 @@ import ModalBody from 'Components/Modal/ModalBody';
|
|||
import ModalContent from 'Components/Modal/ModalContent';
|
||||
import ModalFooter from 'Components/Modal/ModalFooter';
|
||||
import ModalHeader from 'Components/Modal/ModalHeader';
|
||||
import styles from 'Components/Styles/TagsModalContent.css';
|
||||
import { inputTypes, kinds, sizes } from 'Helpers/Props';
|
||||
import createTagsSelector from 'Store/Selectors/createTagsSelector';
|
||||
import DownloadClient from 'typings/DownloadClient';
|
||||
import translate from 'Utilities/String/translate';
|
||||
import styles from './TagsModalContent.css';
|
||||
|
||||
interface TagsModalContentProps {
|
||||
ids: number[];
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
.renameIcon {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.message {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.result {
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
// This file is automatically generated.
|
||||
// Please do not change this file!
|
||||
interface CssExports {
|
||||
'message': string;
|
||||
'renameIcon': string;
|
||||
'result': string;
|
||||
}
|
||||
export const cssExports: CssExports;
|
||||
export default cssExports;
|
||||
|
|
@ -14,11 +14,11 @@ import ModalBody from 'Components/Modal/ModalBody';
|
|||
import ModalContent from 'Components/Modal/ModalContent';
|
||||
import ModalFooter from 'Components/Modal/ModalFooter';
|
||||
import ModalHeader from 'Components/Modal/ModalHeader';
|
||||
import styles from 'Components/Styles/TagsModalContent.css';
|
||||
import { inputTypes, kinds, sizes } from 'Helpers/Props';
|
||||
import createTagsSelector from 'Store/Selectors/createTagsSelector';
|
||||
import ImportList from 'typings/ImportList';
|
||||
import translate from 'Utilities/String/translate';
|
||||
import styles from './TagsModalContent.css';
|
||||
|
||||
interface TagsModalContentProps {
|
||||
ids: number[];
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
.renameIcon {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.message {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.result {
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
// This file is automatically generated.
|
||||
// Please do not change this file!
|
||||
interface CssExports {
|
||||
'message': string;
|
||||
'renameIcon': string;
|
||||
'result': string;
|
||||
}
|
||||
export const cssExports: CssExports;
|
||||
export default cssExports;
|
||||
|
|
@ -14,11 +14,11 @@ import ModalBody from 'Components/Modal/ModalBody';
|
|||
import ModalContent from 'Components/Modal/ModalContent';
|
||||
import ModalFooter from 'Components/Modal/ModalFooter';
|
||||
import ModalHeader from 'Components/Modal/ModalHeader';
|
||||
import styles from 'Components/Styles/TagsModalContent.css';
|
||||
import { inputTypes, kinds, sizes } from 'Helpers/Props';
|
||||
import createTagsSelector from 'Store/Selectors/createTagsSelector';
|
||||
import Indexer from 'typings/Indexer';
|
||||
import translate from 'Utilities/String/translate';
|
||||
import styles from './TagsModalContent.css';
|
||||
|
||||
interface TagsModalContentProps {
|
||||
ids: number[];
|
||||
|
|
|
|||
|
|
@ -87,27 +87,5 @@ public void should_have_size_on_disk_when_movie_file_exists()
|
|||
stats.Should().HaveCount(1);
|
||||
stats.First().SizeOnDisk.Should().Be(_movieFile.Size);
|
||||
}
|
||||
|
||||
// [Test]
|
||||
// public void should_not_duplicate_size_for_multi_movie_files()
|
||||
// {
|
||||
// GivenMovieWithFile();
|
||||
// GivenMovieFile();
|
||||
//
|
||||
// var movie2 = _movie.JsonClone();
|
||||
//
|
||||
// var movieMetadata = Builder<MovieMetadata>.CreateNew().With(h => h.TmdbId = 234567).BuildNew();
|
||||
// Db.Insert(movieMetadata);
|
||||
//
|
||||
// movie2.Id = 0;
|
||||
// movie2.MovieMetadataId = movieMetadata.Id;
|
||||
//
|
||||
// Db.Insert(movie2);
|
||||
//
|
||||
// var stats = Subject.MovieStatistics();
|
||||
//
|
||||
// stats.Should().HaveCount(1);
|
||||
// stats.First().SizeOnDisk.Should().Be(_movieFile.Size);
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,11 +40,6 @@ public override async Task<string> Download(RemoteMovie remoteMovie, IIndexer in
|
|||
var url = remoteMovie.Release.DownloadUrl;
|
||||
var title = remoteMovie.Release.Title;
|
||||
|
||||
// We don't have full seasons in movies.
|
||||
// if (remoteMovie.ParsedEpisodeInfo.FullSeason)
|
||||
// {
|
||||
// throw new NotSupportedException("Full season releases are not supported with Pneumatic.");
|
||||
// }
|
||||
title = FileNameBuilder.CleanFileName(title);
|
||||
|
||||
// Save to the Pneumatic directory (The user will need to ensure its accessible by XBMC)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@
|
|||
|
||||
namespace NzbDrone.Core.MediaItems
|
||||
{
|
||||
public interface IBaseMediaService<T> where T : ModelBase
|
||||
public interface IBaseMediaService<T>
|
||||
where T : ModelBase, new()
|
||||
{
|
||||
T Get(int id);
|
||||
List<T> Get(IEnumerable<int> ids);
|
||||
|
|
@ -20,7 +21,8 @@ public interface IBaseMediaService<T> where T : ModelBase
|
|||
List<T> UpdateMany(List<T> items);
|
||||
}
|
||||
|
||||
public abstract class BaseMediaService<T> : IBaseMediaService<T> where T : ModelBase
|
||||
public abstract class BaseMediaService<T> : IBaseMediaService<T>
|
||||
where T : ModelBase, new()
|
||||
{
|
||||
protected abstract IBasicRepository<T> Repository { get; }
|
||||
protected virtual IEventAggregator EventAggregator => null;
|
||||
|
|
@ -112,11 +114,28 @@ protected virtual void SetAddedTimestamp(T item, DateTime? timestamp = null)
|
|||
}
|
||||
}
|
||||
|
||||
protected virtual void OnItemAdded(T item) { }
|
||||
protected virtual void OnItemsImported(List<T> items) { }
|
||||
protected virtual void OnItemDeleted(T item, bool deleteFiles) { }
|
||||
protected virtual void OnItemsDeleted(List<T> items, bool deleteFiles) { }
|
||||
protected virtual void OnItemEdited(T updated, T stored) { }
|
||||
protected virtual void OnItemsBulkEdited(List<T> items) { }
|
||||
protected virtual void OnItemAdded(T item)
|
||||
{
|
||||
}
|
||||
|
||||
protected virtual void OnItemsImported(List<T> items)
|
||||
{
|
||||
}
|
||||
|
||||
protected virtual void OnItemDeleted(T item, bool deleteFiles)
|
||||
{
|
||||
}
|
||||
|
||||
protected virtual void OnItemsDeleted(List<T> items, bool deleteFiles)
|
||||
{
|
||||
}
|
||||
|
||||
protected virtual void OnItemEdited(T updated, T stored)
|
||||
{
|
||||
}
|
||||
|
||||
protected virtual void OnItemsBulkEdited(List<T> items)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,23 +53,6 @@ public void PublishEvent<TEvent>(TEvent @event)
|
|||
|
||||
var eventName = GetEventName(@event.GetType());
|
||||
|
||||
/*
|
||||
int workerThreads;
|
||||
int completionPortThreads;
|
||||
ThreadPool.GetAvailableThreads(out workerThreads, out completionPortThreads);
|
||||
|
||||
int maxCompletionPortThreads;
|
||||
int maxWorkerThreads;
|
||||
ThreadPool.GetMaxThreads(out maxWorkerThreads, out maxCompletionPortThreads);
|
||||
|
||||
|
||||
int minCompletionPortThreads;
|
||||
int minWorkerThreads;
|
||||
ThreadPool.GetMinThreads(out minWorkerThreads, out minCompletionPortThreads);
|
||||
|
||||
_logger.Warn("Thread pool state WT:{0} PT:{1} MAXWT:{2} MAXPT:{3} MINWT:{4} MINPT:{5}", workerThreads, completionPortThreads, maxWorkerThreads, maxCompletionPortThreads, minWorkerThreads, minCompletionPortThreads);
|
||||
*/
|
||||
|
||||
_logger.Trace("Publishing {0}", eventName);
|
||||
|
||||
EventSubscribers<TEvent> subscribers;
|
||||
|
|
|
|||
|
|
@ -55,11 +55,6 @@ public List<AlternativeTitle> GetAllTitles()
|
|||
return _titleRepo.All().ToList();
|
||||
}
|
||||
|
||||
public void RemoveTitle(AlternativeTitle title)
|
||||
{
|
||||
_titleRepo.Delete(title);
|
||||
}
|
||||
|
||||
public List<AlternativeTitle> UpdateTitles(List<AlternativeTitle> titles, MovieMetadata movieMetadata)
|
||||
{
|
||||
var movieMetadataId = movieMetadata.Id;
|
||||
|
|
|
|||
|
|
@ -55,11 +55,6 @@ public List<Credit> GetAllCredits()
|
|||
return _creditRepo.All().ToList();
|
||||
}
|
||||
|
||||
public void RemoveTitle(Credit credit)
|
||||
{
|
||||
_creditRepo.Delete(credit);
|
||||
}
|
||||
|
||||
public List<Credit> UpdateCredits(List<Credit> credits, MovieMetadata movieMetadata)
|
||||
{
|
||||
var movieMetadataId = movieMetadata.Id;
|
||||
|
|
|
|||
|
|
@ -36,11 +36,6 @@ public List<MovieTranslation> GetAllTranslationsForLanguage(Language language)
|
|||
return _translationRepo.FindByLanguage(language).ToList();
|
||||
}
|
||||
|
||||
public void RemoveTitle(MovieTranslation title)
|
||||
{
|
||||
_translationRepo.Delete(title);
|
||||
}
|
||||
|
||||
public List<MovieTranslation> UpdateTranslations(List<MovieTranslation> translations, MovieMetadata movieMetadata)
|
||||
{
|
||||
var movieMetadataId = movieMetadata.Id;
|
||||
|
|
|
|||
Loading…
Reference in a new issue