Commit Graph

425 Commits (ea59e71b18a4c775af040c1fe27f0b466d4105f7)

Author SHA1 Message Date
Robert Dailey 5ad8db1294 fix: Do not throw when no instances are defined in YAML files
2 years ago
Robert Dailey 20b6921b0f refactor: Quality Definition parsers use files from local clone
2 years ago
Robert Dailey 0d71e341d5 refactor: Add request/response body to debug logs
2 years ago
Robert Dailey 82856495b5 refactor: Log the app data directory
2 years ago
Robert Dailey 850a0d5fd3 feat: Global app data via environment variable
2 years ago
Robert Dailey 9618a0eadc fix: create-config accepts YAML file name again instead of directory
2 years ago
Jonas Geiler ce7f338881 fix: updated "EVO (no WEBDL)" custom format in config template
2 years ago
Robert Dailey eb394f8ca1 build: Upgrade System.IO.Abstractions to v17
2 years ago
Robert Dailey 9a854b2aa3 build: Upgrade GitHubActionsTestLogger to v2
2 years ago
Robert Dailey b502610801 build: Upgrade FluentValidation to v11
2 years ago
Robert Dailey 8522a5d39d test: Clean up unnecessary code
2 years ago
Robert Dailey f6248b6b76 fix(radarr): Load cache json using snake case
2 years ago
Robert Dailey d4380bc11d chore: Add System.IO.Abstractions.Extensions to all tests
2 years ago
Robert Dailey 7daca894f7 fix(migrate): Skip moving cache directory if it does not exist
2 years ago
Robert Dailey bf8b860951 fix: Properly handle manually specified path in create-config
2 years ago
Robert Dailey 38b6ab5131 fix: Fix IAppPaths access issue in create-config
2 years ago
Robert Dailey cd9d9e7cdc fix: Simplify app data migration
2 years ago
Robert Dailey da38fd597f refactor: Move NormalizePath logic to TestLibrary
2 years ago
Robert Dailey bf7d884183 fix: Migration logic now handles symlinks (sort of)
2 years ago
Robert Dailey f5ce60589d feat: Debug logs for trash-updater dir migration
2 years ago
Robert Dailey 37d52b583a feat: Debug diagnostics for migrate subcommand
2 years ago
Robert Dailey c593675f3d ci: Move publish properties to ps1
2 years ago
Robert Dailey d499537f91 fix: Improve app data migration logic
2 years ago
Robert Dailey d50e08b1e3 refactor: Add MergeDirectory() method + tests
2 years ago
Robert Dailey 276f59ae8c feat: New migrate subcommand
2 years ago
Robert Dailey bba4d2a08a fix: Log files were empty & incorrect formatting
2 years ago
Robert Dailey 23c6871d41 refactor: Create app data subdirectories on startup
2 years ago
Robert Dailey a1f07c4ad0 refactor: Delay file logging until IAppPaths initialized
2 years ago
Robert Dailey 035836db49 fix: Better safeguards for HOME directory usage
2 years ago
Robert Dailey f6f6d2d0a1 test: Use Path.Combine() for unit test paths
2 years ago
Robert Dailey ef9430424b test: Fix configuration finder test
2 years ago
Robert Dailey d06059f99e chore: Remove BOM from all CS files
2 years ago
Robert Dailey c9face580d chore: Fix incorrect namespace
2 years ago
Robert Dailey 7f1b85f33a feat: Change default location of 'recyclarr.yml'
2 years ago
Robert Dailey 43c44a9295 feat: New --app-data option for specifying app data directory
2 years ago
Robert Dailey be9ae954f4 refactor: Organize Init & Cleanup source files better
2 years ago
Robert Dailey 042fe618c1 refactor: Make AppPaths injectable
2 years ago
Robert Dailey 1c63121c4e refactor: Factory class for logging creation
2 years ago
Robert Dailey 5fa23367a3 fix: Incorrect metadata in version info
2 years ago
Robert Dailey 17bff83a2a refactor: Init & Cleanup System
2 years ago
Robert Dailey 9a736426ce refactor: Move log janitor to ServiceCommand
2 years ago
Robert Dailey 8e3630608c chore: Update code cleanup rules
2 years ago
Robert Dailey 601f144afe fix: Cleanup and centralize URL sanitization
2 years ago
Robert Dailey 243d076087 refactor: New command structure
2 years ago
Robert Dailey d84b5c5093 fix: Missing terms when using term filters
2 years ago
Robert Dailey 5140272705 fix: strict_negative_scores works again
2 years ago
Robert Dailey b60ed3f079 chore: Replace 'rcdailey' with organization 'recyclarr'
2 years ago
Robert Dailey b759b26bd7 refactor(sonarr): Use record 'with' for partial update
2 years ago
Robert Dailey 59dc2568ca refactor: Newline after git clone progress output
2 years ago
Robert Dailey 20a443698b test: Fix crash in MigrationExecutorTest
2 years ago
Robert Dailey 72aebd59f2 fix: Migration broken by ILogger
2 years ago
Robert Dailey f03cc012a5 refactor: Improve migration step diagnostics
2 years ago
Robert Dailey 19d41c27a4 refactor: Address SonarCloud code smells
2 years ago
Robert Dailey 2572b15947 refactor: Fix namespace in TrashLib.TestLibrary
2 years ago
Robert Dailey f7229b2413 test: Verify order of all migration steps
2 years ago
Robert Dailey 840f85df05 fix: Migration steps are registered explicitly
2 years ago
Robert Dailey 5e118cf07c feat: Rename 'trash-updater' app dir to 'recyclarr'
2 years ago
Robert Dailey bede26c213 feat: Default config is now `recyclarr.yml`
2 years ago
Robert Dailey 7beba7eea6 build: Exclude TestResults from all test projects
2 years ago
Robert Dailey 10600ae4f1 refactor: Rename project & links in scripts, code, etc
2 years ago
Robert Dailey 0c11462af7 chore: Rename C# CLI projects to Recyclarr
2 years ago
Robert Dailey 2424d28015 test: Unit tests for new command code
2 years ago
Robert Dailey efc4455d92 feat(sonarr): New --list-terms command line option
2 years ago
Robert Dailey 305ae296ab feat(sonarr): New --list-release-profiles command line option
2 years ago
Robert Dailey d598537003 refactor: Register CliFx IConsole with Autofac
2 years ago
Robert Dailey 434158f7a6 feat(sonarr)!: Parse Guide Release Profile JSON
2 years ago
Robert Dailey e86b83c9ab test: Fix analysis warnings for unused classes
2 years ago
Robert Dailey f570b098f1 build: InternalsVisibleTo excluded from test projects
2 years ago
Robert Dailey 3960f24f99 test: Update some tests to use async/await
2 years ago
Robert Dailey 67cc4bd98f refactor: Remove common repo code from Radarr guide parser
2 years ago
Robert Dailey ea99f5b613 chore: Fully quality CLSCompliantAttribute
3 years ago
Robert Dailey c5e282394d chore: Log server URL when processing it
3 years ago
Robert Dailey ea30d60ca4 fix(radarr): Sanitize URLs in HTTP exception messages
3 years ago
Robert Dailey 7a419e26ce fix: Prevent redirects
3 years ago
Robert Dailey 66d9f3dcdd fix(sonarr): Profile filtering considers the IncludeOptionals setting
3 years ago
Robert Dailey cbdd8bc469 fix(sonarr): Do not throw away optionals release profile
3 years ago
Robert Dailey 546bd3bf5e refactor: Enable implicit using and run code cleanup
3 years ago
Robert Dailey 4f8d76a62a chore: Log Sonarr version number
3 years ago
Robert Dailey dcc4964ca3 fix: Show error when config has unrecognized YAML properties
3 years ago
Robert Dailey a4aa5d71b1 refactor: Disable nullability in Verify.cs
3 years ago
Robert Dailey a377ec5e75 chore: Switch to GitVersion
3 years ago
Robert Dailey bf473d3eae build: Use latestmajor for LangVersion
3 years ago
Robert Dailey d7295d4820 build: Move to Composite Ready2Run
3 years ago
Robert Dailey 0da080f56f build: Disable PublishTrimmed
3 years ago
Robert Dailey fadd8bd5de test: Clean up composition root tests
3 years ago
Robert Dailey 3973bccd7e build: Move publish settings to Trash.csproj
3 years ago
Robert Dailey 2d21ffeb38 test: Unit test fixes for GitRepository
3 years ago
Robert Dailey 258ac508d5 refactor: Better ProgressBar code
3 years ago
Robert Dailey 2fd1601619 fix: Better error handling in git code
3 years ago
Robert Dailey 4869bae216 build: New projects for VersionControl code
3 years ago
Robert Dailey 38ac68dbb7 refactor: New FileUtilities class
3 years ago
Robert Dailey 62c3e5c6a2 fix: Check setting before disabling cert validation
3 years ago
Robert Dailey 94b95c1fb4 feat: Add setting to bypass SSL certificate validation
3 years ago
Robert Dailey d540cf37c9 feat: Add JSON schema for settings
3 years ago
Robert Dailey 2fe29f3b16 feat: settings functionality
3 years ago
Robert Dailey 3d4b44a0ed chore: Sort packages in root targets file
3 years ago
Robert Dailey a64347e96f chore: Add TrimNewlines() string extension method
3 years ago
Robert Dailey 3641b93dbb chore: Upgrade AutoMapper to v11
3 years ago
Robert Dailey 1cb6354faf chore: Allow longer attributes on a single line
3 years ago
Robert Dailey a33c3f1d32 chore: move ServiceCommand to new directory
3 years ago
Robert Dailey 592d217020 refactor: Move yaml deserializer creation logic to a factory
3 years ago
Robert Dailey 88633392a9 refactor: Autofac support in AutoMockData
3 years ago
Robert Dailey 498644c0e8 chore: Reorganize Config code
3 years ago
Robert Dailey 084b87e96d build: Add Coverlet package to unit tests
3 years ago
Robert Dailey c0659cab3e chore: Make all test packages private
3 years ago
Robert Dailey 74b9fe7d89 build: Upgrade System.IO.Abstractions from v14 to v16
3 years ago
Robert Dailey 6820e785d9 test: introduce AutoFixture library and support code
3 years ago
Robert Dailey d8eac2e381 chore: sort package references in root props file
3 years ago
Robert Dailey 814418a002 chore: formatting settings
3 years ago
Robert Dailey 593740900a refactor: convert to file-scoped namespaces
3 years ago
Robert Dailey e67b4296b3 chore: remove CPP specific settings in editorconfig
3 years ago
Robert Dailey f2c117da66 chore: require newline before while in editorconfig
3 years ago
Robert Dailey 3f0583a05a build: Lock libgit2sharp to 0.27 preview builds
3 years ago
Robert Dailey 7451b8526c refactor: Remove IServiceCommand from composition root
3 years ago
Robert Dailey 8d1706ca02 fix: Autofac exception when resolving IServiceCommand
3 years ago
Robert Dailey b0bbb23d3b build: disable CLS compliance for all projects
3 years ago
Robert Dailey 90c46c52cf build: AllEnabledByDefault for AnalysisMode
3 years ago
Robert Dailey bc36c27307 build: upgrade System.IO.Abstractions package
3 years ago
Robert Dailey b7e85e2307 build: remove explicit net analyzers package
3 years ago
Robert Dailey ee3cfec50a refactor: use correct container types through code base
3 years ago
Robert Dailey ebb924da12 refactor: address sonarcloud/analyzer code smells and warnings
3 years ago
Robert Dailey 237ee97a3b chore: update .editorconfig
3 years ago
Robert Dailey b78e87119a build: upgrade all nuget package versions
3 years ago
Robert Dailey 7f43413158 build: upgrade to .NET 6
3 years ago
Robert Dailey 5eb58ce4ae fix: do not publish System.Reactive.xml
3 years ago
Robert Dailey 53b11e04c9 chore: code cleanup on solution
3 years ago
Robert Dailey 6036be0d29 fix(sonarr): race condition during version retrieval
3 years ago
Robert Dailey 1772e7c9fd refactor: sanitized logs for http communication
3 years ago
Robert Dailey 1a008e272e fix: free-quota exception from njsonschema generator
3 years ago
Robert Dailey 6f2d946902 fix: sonarr devs broke the release profile api
3 years ago
Robert Dailey b1651c89c6 chore: fix various warnings
3 years ago
Robert Dailey 74ca11e309 chore: editorconfig style updates
3 years ago
Robert Dailey 94d3e66e46 build: specify LibGit2Sharp in root Targets file
3 years ago
Robert Dailey e022db0635 build: upgrade YamlDotNet to v11
3 years ago
Robert Dailey 4a40af662e build: upgrade Serilog Console and File sinks
3 years ago
Robert Dailey 971c311078 build: upgrade NUnit3TestAdapter to v4
3 years ago
Robert Dailey 06d2222865 build: upgrade fluent assertions to v6
3 years ago
Robert Dailey 5a1bfa18bb chore: sort packages in targets file
3 years ago
Robert Dailey 26bab2c095 build: upgrade libgit2sharp to fix ubuntu v20 native lib issue
3 years ago
Robert Dailey 785da4bd07 fix(radarr): use git repo instead of api for radarr json data
3 years ago
Robert Dailey aecd2dc5dc refactor: fluent validation for configuration
3 years ago
Robert Dailey 1db23e6be9 refactor: new trashlib project
3 years ago
Robert Dailey e197fb2bd0 refactor: dedicated server info url builder
3 years ago
Robert Dailey 7c16d5fcbf build: silence ca1054 (use system.url)
3 years ago
Robert Dailey a9dd79e824 chore(editorconfig): space before '/>'
3 years ago
Robert Dailey ebf42622b8 change: new guide urls for sonarr and radarr
3 years ago
Robert Dailey f9b933e1e3 test: remove unused test fixture
3 years ago
Robert Dailey 87d3fdc225 refactor: rider code cleanup on solution
3 years ago
Robert Dailey fe9873fb05 feat(radarr): new setting to reset unmapped scores
3 years ago
Robert Dailey df203e3b46 feat(radarr): support new custom format guide structure
3 years ago
Robert Dailey 45cf774ada feat(radarr): support trash_score in custom format json
3 years ago
Robert Dailey df993016d7 fix(radarr): invoke reset on processors when doing preview
3 years ago
Robert Dailey 46675e38c5 feat(radarr): add custom formats by trash_id
3 years ago
Robert Dailey 08541961bd refactor: validation logic for service configuration
3 years ago
Robert Dailey 4d99530e48 feat: debug-level logging to file
3 years ago
Robert Dailey 2a222ac6e5 refactor: remove renamed cfs property from ConfigStep
3 years ago
Robert Dailey 47fa66bb79 refactor: add versioning to cf cache
3 years ago
Robert Dailey 77917aa08d refactor: use snake case for cache json
3 years ago
Robert Dailey 5d80298d68 fix(sonarr): use correct url
3 years ago
Robert Dailey 2f3c56783c refactor: rename file to match class name
3 years ago
Robert Dailey 50195b8cfd fix(radarr): set scores for unchanged custom formats
3 years ago
Robert Dailey 00ed14f55c fix(radarr): do not invoke api for profile when there's no updates
3 years ago
Robert Dailey 746d2f7f91 refactor: service cache test names changed
3 years ago
Robert Dailey f3f9d085d1 fix: handle invalid cache data
3 years ago
Robert Dailey fe46340af8 fix(radarr): log one line per cf with no score
3 years ago
Robert Dailey 3ae9639b0b build: rearrange build props/targets
3 years ago
Robert Dailey c21fc51b23 feat(radarr): custom format support
3 years ago
Robert Dailey 59934be5d4 refactor(cache): check if file exists in load
3 years ago
Robert Dailey 85c7e167a1 refactor: service cache per-service
3 years ago
Robert Dailey bb07aec749 refactor(config): make IServiceConfiguration available via DI
3 years ago
Robert Dailey b3ab16b75b refactor(config): sonarr release profile type is required
3 years ago
Robert Dailey 12ff259c09 refactor(config): base_url and api_key are required
3 years ago
Robert Dailey 070a961ed0 refactor(config): make radarr quality_definition.type required
3 years ago
Robert Dailey 03ee600346 refactor: implement validating deserializer for YamlDotNet
3 years ago
Robert Dailey 420635d781 refactor: rename BaseConfiguration to ServiceConfiguration
3 years ago
Robert Dailey 5a9a517534 fix: max at 400 is updated to unlimited
3 years ago
Robert Dailey bcbdc580ff refactor: fix roslyn analyzer warnings
3 years ago
Robert Dailey 3d3c6f327d fix(sonarr): quality definition unlimited support
3 years ago
Robert Dailey f25d2620b5 refactor: use generic param in unit test
3 years ago
Robert Dailey 008adedf9d fix: create-config autofac registration
3 years ago
Robert Dailey 1ace0fb13d fix(radarr): quality definition now sets unlimited
3 years ago
Robert Dailey 41fdd3b174 chore: add defaults to .editorconfig
3 years ago
Robert Dailey 13ee03473c refactor: new service cache class
3 years ago
Robert Dailey f1e9b4f507 refactor: add class dedicated to global paths
3 years ago
Robert Dailey 76d3c39ac3 chore: rider encoding settings set to utf8 no BOM
3 years ago
Robert Dailey 1034d64ea5 chore: code cleanup rules saved to DotSettings file
3 years ago
Robert Dailey 577c94921e chore: add editorconfig for code style
3 years ago
Robert Dailey f1b1c8031c refactor: fix warnings in unit test
3 years ago
Robert Dailey d3943b5bdc style: code cleanup
3 years ago
Robert Dailey 173011b320 refactor: new active command provider semantics
3 years ago
Robert Dailey 1a02cc0d4a build: Add InternalsVisibleTo to all projects
3 years ago
Robert Dailey 46815a767a refactor: move yamldotnet extensions to respective directory
3 years ago
Robert Dailey eaeb06eb26 ci: better dotnet publish in build workflow
3 years ago
Robert Dailey b1abb2ca85 feat: allow optional terms to be synced
3 years ago
Robert Dailey 2eefdc0325 feat: New `create-config` subcommand
3 years ago
Robert Dailey 48aeb2d7c5 test: Unit tests for some TestLibrary classes
3 years ago
Robert Dailey 7604397c26 refactor: Make TestData object usable outside tests
3 years ago
Robert Dailey 81131c7598 refactor: Print 'v' before version number
3 years ago
Robert Dailey af97311899 feat: Ignore optional terms in Release Profiles
3 years ago
Robert Dailey b27f80268a chore: Remove version.json from solution
3 years ago
Robert Dailey 6e98e09f30 chore: Use less permissive collection interfaces
3 years ago
Robert Dailey 4fef062895 fix: Skip certain lines in guide parser
3 years ago
Robert Dailey b9db8b7ef3 fix: Log warning if a "potential" score is found
3 years ago
Robert Dailey 9065932eaa chore: Remove dependency on global Log instance
3 years ago
Robert Dailey bb5c74e0cb Complete rewrite using C# .NET Core 5
3 years ago
Robert Dailey ffc5a9df56 Delete existing Python project
4 years ago
Robert Dailey b7f34c3b52 Print help when run with no arguments
4 years ago
Robert Dailey 2485a587b0 Fix error with Sonarr profiles without tags
4 years ago
Robert Dailey 93ffbdbbc1 Only send to *darr the qualities that change
4 years ago
Robert Dailey dc5ef2b25a Shorten --config-file option
4 years ago
Robert Dailey 3aad617219 Radarr quality definition support
4 years ago
Robert Dailey 8c31968bfc Modularize main logic in the app package
4 years ago
Robert Dailey f128939f57 Fix incorrect path logic for default YAML location
4 years ago
Robert Dailey 232cc0909e Include 2 tags in the YAML config tags test case
4 years ago
Robert Dailey 545f1ac289 Sonarr profile tags support in YAML config
4 years ago
Robert Dailey cb44ab36cb Support for WEB-DL release profile guide
4 years ago
Robert Dailey cdc5973cde Option to treat negative scores as ignored
4 years ago
Robert Dailey 09c24a911d More flexible release profile header parsing
4 years ago
Robert Dailey 2578d82092 Remove superfluous exit() after raise
4 years ago
Robert Dailey 6ae2a4c047 Add configuration file support
4 years ago
Robert Dailey 607d2a8f6f Implement hybrid quality definition logic
4 years ago
Robert Dailey c5cc2035a8 Sonarr quality definition support
4 years ago
Robert Dailey 7a5969874a Introduce unit test framework
4 years ago
Robert Dailey 2133bfceb9 Rename package from trash -> app
4 years ago
Robert Dailey dc3f839203 Modularize python code into a package
4 years ago