mirror of
https://github.com/fergalmoran/Readarr.git
synced 2025-12-22 01:19:15 +00:00
New: Lidarr to Readarr
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Explicitly set bash scripts to have unix endings
|
# Explicitly set bash scripts to have unix endings
|
||||||
*.sh text eol=lf
|
*.sh text eol=lf
|
||||||
distribution/debian/* text eol=lf
|
distribution/debian/* text eol=lf
|
||||||
macOS/Lidarr text eol=lf
|
macOS/Readarr text eol=lf
|
||||||
|
|
||||||
# Custom for Visual Studio
|
# Custom for Visual Studio
|
||||||
*.cs diff=csharp
|
*.cs diff=csharp
|
||||||
|
|||||||
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||||
patreon: # Replace with a single Patreon username
|
patreon: # Replace with a single Patreon username
|
||||||
open_collective: lidarr
|
open_collective: readarr
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
ko_fi: # Replace with a single Ko-fi username
|
||||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||||
|
|||||||
2
.github/ISSUE_TEMPLATE.md
vendored
2
.github/ISSUE_TEMPLATE.md
vendored
@@ -18,7 +18,7 @@ Remove if not opening a bug report
|
|||||||
|
|
||||||
### System Information/Logs
|
### System Information/Logs
|
||||||
|
|
||||||
**Lidarr Version:**
|
**Readarr Version:**
|
||||||
|
|
||||||
**Operating System:**
|
**Operating System:**
|
||||||
|
|
||||||
|
|||||||
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -24,7 +24,7 @@ If applicable, add screenshots to help explain your problem.
|
|||||||
Link to debug logs.
|
Link to debug logs.
|
||||||
|
|
||||||
**System info (please complete the following information):**
|
**System info (please complete the following information):**
|
||||||
- Lidarr Version: [e.g. 0.3.0.430]
|
- Readarr Version: [e.g. 0.3.0.430]
|
||||||
- Operating System [e.g. iOS]
|
- Operating System [e.g. iOS]
|
||||||
- .net Framework (Windows) or mono (macOS/Linux) Version: [e.g. 4.5 or 5.12]
|
- .net Framework (Windows) or mono (macOS/Linux) Version: [e.g. 4.5 or 5.12]
|
||||||
|
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -104,7 +104,7 @@ App_Data/*.ldf
|
|||||||
_NCrunch_*
|
_NCrunch_*
|
||||||
_TeamCity*
|
_TeamCity*
|
||||||
|
|
||||||
# Lidarr
|
# Readarr
|
||||||
config.xml
|
config.xml
|
||||||
nzbdrone.log*txt
|
nzbdrone.log*txt
|
||||||
UpdateLogs/
|
UpdateLogs/
|
||||||
|
|||||||
5
.vscode/settings.json
vendored
Normal file
5
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"*.yaml": "home-assistant"
|
||||||
|
}
|
||||||
|
}
|
||||||
4
CLA.md
4
CLA.md
@@ -1,6 +1,6 @@
|
|||||||
# Lidarr Individual Contributor License Agreement #
|
# Readarr Individual Contributor License Agreement #
|
||||||
|
|
||||||
Thank you for your interest in contributing to Lidarr ("We" or "Us").
|
Thank you for your interest in contributing to Readarr ("We" or "Us").
|
||||||
This contributor agreement ("Agreement") documents the rights granted by contributors to Us. To make this document effective, please complete the form below. This is a legally binding document, so please read it carefully before agreeing to it. The Agreement may cover more than one software project managed by Us.
|
This contributor agreement ("Agreement") documents the rights granted by contributors to Us. To make this document effective, please complete the form below. This is a legally binding document, so please read it carefully before agreeing to it. The Agreement may cover more than one software project managed by Us.
|
||||||
|
|
||||||
## 1. Definitions ##
|
## 1. Definitions ##
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# How to Contribute #
|
# How to Contribute #
|
||||||
|
|
||||||
We're always looking for people to help make Lidarr even better, there are a number of ways to contribute.
|
We're always looking for people to help make Readarr even better, there are a number of ways to contribute.
|
||||||
|
|
||||||
## Documentation ##
|
## Documentation ##
|
||||||
Setup guides, FAQ, the more information we have on the wiki the better.
|
Setup guides, FAQ, the more information we have on the wiki the better.
|
||||||
@@ -17,18 +17,18 @@ Setup guides, FAQ, the more information we have on the wiki the better.
|
|||||||
|
|
||||||
### Getting started ###
|
### Getting started ###
|
||||||
|
|
||||||
1. Fork Lidarr
|
1. Fork Readarr
|
||||||
2. Clone the repository into your development machine. [*info*](https://help.github.com/articles/working-with-repositories)
|
2. Clone the repository into your development machine. [*info*](https://help.github.com/articles/working-with-repositories)
|
||||||
3. Grab the submodules `git submodule init && git submodule update`
|
3. Grab the submodules `git submodule init && git submodule update`
|
||||||
4. Install the required Node Packages `yarn install`
|
4. Install the required Node Packages `yarn install`
|
||||||
5. Start gulp to monitor your dev environment for any changes that need post processing using `yarn start` command.
|
5. Start gulp to monitor your dev environment for any changes that need post processing using `yarn start` command.
|
||||||
6. Build the project in Visual Studio, Setting startup project to `NZBDrone.Console`
|
6. Build the project in Visual Studio, Setting startup project to `NZBDrone.Console`
|
||||||
7. Debug the project in Visual Studio
|
7. Debug the project in Visual Studio
|
||||||
8. Open http://localhost:8686
|
8. Open http://localhost:8787
|
||||||
|
|
||||||
### Contributing Code ###
|
### Contributing Code ###
|
||||||
- If you're adding a new, already requested feature, please comment on [Github Issues](https://github.com/lidarr/Lidarr/issues "Github Issues") so work is not duplicated (If you want to add something not already on there, please talk to us first)
|
- If you're adding a new, already requested feature, please comment on [Github Issues](https://github.com/readarr/Readarr/issues "Github Issues") so work is not duplicated (If you want to add something not already on there, please talk to us first)
|
||||||
- Rebase from Lidarr's develop branch, don't merge
|
- Rebase from Readarr's develop branch, don't merge
|
||||||
- Make meaningful commits, or squash them
|
- Make meaningful commits, or squash them
|
||||||
- Feel free to make a pull request before work is complete, this will let us see where its at and make comments/suggest improvements
|
- Feel free to make a pull request before work is complete, this will let us see where its at and make comments/suggest improvements
|
||||||
- Reach out to us on the discord if you have any questions
|
- Reach out to us on the discord if you have any questions
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 54 KiB |
25
Logo/Readarr.svg
Normal file
25
Logo/Readarr.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 54 KiB |
48
README.md
48
README.md
@@ -1,12 +1,12 @@
|
|||||||
# Lidarr
|
# Readarr
|
||||||
|
|
||||||
[](https://dev.azure.com/Lidarr/Lidarr/_build/latest?definitionId=1&branchName=develop)
|
[](https://dev.azure.com/Readarr/Readarr/_build/latest?definitionId=1&branchName=develop)
|
||||||
[](https://automate.browserstack.com/public-build/Z1I4SVZOMitOdENIMHpkMlN3djJiRVJkTzBpdUJ5Q2ZtWVhnYTFvYS9qcz0tLTM5THJZRkVCZlk0blp5cXFBK1BDYWc9PQ==--67f41b00af03ab78148d3d711f22ca42ab348a52)
|
[](https://automate.browserstack.com/public-build/Z1I4SVZOMitOdENIMHpkMlN3djJiRVJkTzBpdUJ5Q2ZtWVhnYTFvYS9qcz0tLTM5THJZRkVCZlk0blp5cXFBK1BDYWc9PQ==--67f41b00af03ab78148d3d711f22ca42ab348a52)
|
||||||
[](https://github.com/lidarr/Lidarr/wiki/Docker)
|
[](https://github.com/readarr/Readarr/wiki/Docker)
|
||||||

|

|
||||||
[](#backers) [](#sponsors)
|
[](#backers) [](#sponsors)
|
||||||
|
|
||||||
Lidarr is a music collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new tracks from your favorite artists and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.
|
Readarr is a music collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new tracks from your favorite artists and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.
|
||||||
|
|
||||||
## Major Features Include:
|
## Major Features Include:
|
||||||
|
|
||||||
@@ -24,42 +24,42 @@ Lidarr is a music collection manager for Usenet and BitTorrent users. It can mon
|
|||||||
|
|
||||||
## Feature Requests
|
## Feature Requests
|
||||||
|
|
||||||
[](http://feathub.com/lidarr/Lidarr)
|
[](http://feathub.com/readarr/Readarr)
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
|
|
||||||
[](https://discord.gg/8Y7rDc9)
|
[](https://discord.gg/8Y7rDc9)
|
||||||
[](https://www.reddit.com/r/lidarr)
|
[](https://www.reddit.com/r/readarr)
|
||||||
[](https://github.com/Lidarr/Lidarr/issues)
|
[](https://github.com/Readarr/Readarr/issues)
|
||||||
[](https://github.com/Lidarr/Lidarr/wiki)
|
[](https://github.com/Readarr/Readarr/wiki)
|
||||||
|
|
||||||
## Contributors
|
## Contributors
|
||||||
|
|
||||||
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
||||||
<a href="https://github.com/lidarr/Lidarr/graphs/contributors"><img src="https://opencollective.com/lidarr/contributors.svg?width=890&button=false" /></a>
|
<a href="https://github.com/readarr/Readarr/graphs/contributors"><img src="https://opencollective.com/readarr/contributors.svg?width=890&button=false" /></a>
|
||||||
|
|
||||||
|
|
||||||
## Backers
|
## Backers
|
||||||
|
|
||||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/lidarr#backer)]
|
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/readarr#backer)]
|
||||||
|
|
||||||
<a href="https://opencollective.com/lidarr#backers" target="_blank"><img src="https://opencollective.com/lidarr/backers.svg?width=890"></a>
|
<a href="https://opencollective.com/readarr#backers" target="_blank"><img src="https://opencollective.com/readarr/backers.svg?width=890"></a>
|
||||||
|
|
||||||
|
|
||||||
## Sponsors
|
## Sponsors
|
||||||
|
|
||||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/lidarr#sponsor)]
|
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/readarr#sponsor)]
|
||||||
|
|
||||||
<a href="https://opencollective.com/lidarr/sponsor/0/website" target="_blank"><img src="https://opencollective.com/lidarr/sponsor/0/avatar.svg"></a>
|
<a href="https://opencollective.com/readarr/sponsor/0/website" target="_blank"><img src="https://opencollective.com/readarr/sponsor/0/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/lidarr/sponsor/1/website" target="_blank"><img src="https://opencollective.com/lidarr/sponsor/1/avatar.svg"></a>
|
<a href="https://opencollective.com/readarr/sponsor/1/website" target="_blank"><img src="https://opencollective.com/readarr/sponsor/1/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/lidarr/sponsor/2/website" target="_blank"><img src="https://opencollective.com/lidarr/sponsor/2/avatar.svg"></a>
|
<a href="https://opencollective.com/readarr/sponsor/2/website" target="_blank"><img src="https://opencollective.com/readarr/sponsor/2/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/lidarr/sponsor/3/website" target="_blank"><img src="https://opencollective.com/lidarr/sponsor/3/avatar.svg"></a>
|
<a href="https://opencollective.com/readarr/sponsor/3/website" target="_blank"><img src="https://opencollective.com/readarr/sponsor/3/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/lidarr/sponsor/4/website" target="_blank"><img src="https://opencollective.com/lidarr/sponsor/4/avatar.svg"></a>
|
<a href="https://opencollective.com/readarr/sponsor/4/website" target="_blank"><img src="https://opencollective.com/readarr/sponsor/4/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/lidarr/sponsor/5/website" target="_blank"><img src="https://opencollective.com/lidarr/sponsor/5/avatar.svg"></a>
|
<a href="https://opencollective.com/readarr/sponsor/5/website" target="_blank"><img src="https://opencollective.com/readarr/sponsor/5/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/lidarr/sponsor/6/website" target="_blank"><img src="https://opencollective.com/lidarr/sponsor/6/avatar.svg"></a>
|
<a href="https://opencollective.com/readarr/sponsor/6/website" target="_blank"><img src="https://opencollective.com/readarr/sponsor/6/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/lidarr/sponsor/7/website" target="_blank"><img src="https://opencollective.com/lidarr/sponsor/7/avatar.svg"></a>
|
<a href="https://opencollective.com/readarr/sponsor/7/website" target="_blank"><img src="https://opencollective.com/readarr/sponsor/7/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/lidarr/sponsor/8/website" target="_blank"><img src="https://opencollective.com/lidarr/sponsor/8/avatar.svg"></a>
|
<a href="https://opencollective.com/readarr/sponsor/8/website" target="_blank"><img src="https://opencollective.com/readarr/sponsor/8/avatar.svg"></a>
|
||||||
<a href="https://opencollective.com/lidarr/sponsor/9/website" target="_blank"><img src="https://opencollective.com/lidarr/sponsor/9/avatar.svg"></a>
|
<a href="https://opencollective.com/readarr/sponsor/9/website" target="_blank"><img src="https://opencollective.com/readarr/sponsor/9/avatar.svg"></a>
|
||||||
|
|
||||||
### License
|
### License
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
skip_commits:
|
|
||||||
files:
|
|
||||||
- '**/**'
|
|
||||||
@@ -7,10 +7,10 @@ variables:
|
|||||||
outputFolder: './_output'
|
outputFolder: './_output'
|
||||||
artifactsFolder: './_artifacts'
|
artifactsFolder: './_artifacts'
|
||||||
testsFolder: './_tests'
|
testsFolder: './_tests'
|
||||||
majorVersion: '0.7.1'
|
majorVersion: '0.1.0'
|
||||||
minorVersion: $[counter('minorVersion', 1076)]
|
minorVersion: $[counter('minorVersion', 1)]
|
||||||
lidarrVersion: '$(majorVersion).$(minorVersion)'
|
readarrVersion: '$(majorVersion).$(minorVersion)'
|
||||||
buildName: '$(Build.SourceBranchName).$(lidarrVersion)'
|
buildName: '$(Build.SourceBranchName).$(readarrVersion)'
|
||||||
sentryOrg: 'radarr'
|
sentryOrg: 'radarr'
|
||||||
dotnetVersion: '3.1.102'
|
dotnetVersion: '3.1.102'
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ stages:
|
|||||||
vmImage: $(imageName)
|
vmImage: $(imageName)
|
||||||
steps:
|
steps:
|
||||||
# Set the build name properly. The 'name' property won't recursively expand so hack here:
|
# Set the build name properly. The 'name' property won't recursively expand so hack here:
|
||||||
- powershell: Write-Host "##vso[build.updatebuildnumber]$($env:LIDARRVERSION)"
|
- powershell: Write-Host "##vso[build.updatebuildnumber]$($env:READARRVERSION)"
|
||||||
displayName: Set Build Name
|
displayName: Set Build Name
|
||||||
- checkout: self
|
- checkout: self
|
||||||
submodules: true
|
submodules: true
|
||||||
@@ -55,7 +55,7 @@ stages:
|
|||||||
inputs:
|
inputs:
|
||||||
version: $(dotnetVersion)
|
version: $(dotnetVersion)
|
||||||
- bash: ./build.sh --backend
|
- bash: ./build.sh --backend
|
||||||
displayName: Build Lidarr Backend
|
displayName: Build Readarr Backend
|
||||||
- bash: |
|
- bash: |
|
||||||
find ${OUTPUTFOLDER} -type f ! -path "*/publish/*" -exec rm -rf {} \;
|
find ${OUTPUTFOLDER} -type f ! -path "*/publish/*" -exec rm -rf {} \;
|
||||||
find ${OUTPUTFOLDER} -depth -empty -type d -exec rm -r "{}" \;
|
find ${OUTPUTFOLDER} -depth -empty -type d -exec rm -r "{}" \;
|
||||||
@@ -112,7 +112,7 @@ stages:
|
|||||||
submodules: true
|
submodules: true
|
||||||
fetchDepth: 1
|
fetchDepth: 1
|
||||||
- bash: ./build.sh --frontend
|
- bash: ./build.sh --frontend
|
||||||
displayName: Build Lidarr Frontend
|
displayName: Build Readarr Frontend
|
||||||
env:
|
env:
|
||||||
FORCE_COLOR: 0
|
FORCE_COLOR: 0
|
||||||
- publish: $(outputFolder)
|
- publish: $(outputFolder)
|
||||||
@@ -147,8 +147,8 @@ stages:
|
|||||||
- bash: ./build.sh --packages
|
- bash: ./build.sh --packages
|
||||||
displayName: Create Packages
|
displayName: Create Packages
|
||||||
- bash: |
|
- bash: |
|
||||||
setup/inno/ISCC.exe setup/lidarr.iss //DFramework=netcoreapp3.1
|
setup/inno/ISCC.exe setup/readarr.iss //DFramework=netcoreapp3.1
|
||||||
cp setup/output/Lidarr.*windows.netcoreapp3.1.exe ${BUILD_ARTIFACTSTAGINGDIRECTORY}/Lidarr.${BUILDNAME}.windows-core-x64-installer.exe
|
cp setup/output/Readarr.*windows.netcoreapp3.1.exe ${BUILD_ARTIFACTSTAGINGDIRECTORY}/Readarr.${BUILDNAME}.windows-core-x64-installer.exe
|
||||||
displayName: Create .NET Core Windows installer
|
displayName: Create .NET Core Windows installer
|
||||||
- publish: $(Build.ArtifactStagingDirectory)
|
- publish: $(Build.ArtifactStagingDirectory)
|
||||||
artifact: 'WindowsInstaller'
|
artifact: 'WindowsInstaller'
|
||||||
@@ -182,27 +182,27 @@ stages:
|
|||||||
displayName: Create Packages
|
displayName: Create Packages
|
||||||
- bash: |
|
- bash: |
|
||||||
find . -name "fpcalc" -exec chmod a+x {} \;
|
find . -name "fpcalc" -exec chmod a+x {} \;
|
||||||
find . -name "Lidarr" -exec chmod a+x {} \;
|
find . -name "Readarr" -exec chmod a+x {} \;
|
||||||
find . -name "Lidarr.Update" -exec chmod a+x {} \;
|
find . -name "Readarr.Update" -exec chmod a+x {} \;
|
||||||
displayName: Set executable bits
|
displayName: Set executable bits
|
||||||
- task: ArchiveFiles@2
|
- task: ArchiveFiles@2
|
||||||
displayName: Create Windows Core zip
|
displayName: Create Windows Core zip
|
||||||
inputs:
|
inputs:
|
||||||
archiveFile: '$(Build.ArtifactStagingDirectory)/Lidarr.$(buildName).windows-core-x64.zip'
|
archiveFile: '$(Build.ArtifactStagingDirectory)/Readarr.$(buildName).windows-core-x64.zip'
|
||||||
archiveType: 'zip'
|
archiveType: 'zip'
|
||||||
includeRootFolder: false
|
includeRootFolder: false
|
||||||
rootFolderOrFile: $(artifactsFolder)/windows/netcoreapp3.1
|
rootFolderOrFile: $(artifactsFolder)/windows/netcoreapp3.1
|
||||||
- task: ArchiveFiles@2
|
- task: ArchiveFiles@2
|
||||||
displayName: Create MacOS Core app
|
displayName: Create MacOS Core app
|
||||||
inputs:
|
inputs:
|
||||||
archiveFile: '$(Build.ArtifactStagingDirectory)/Lidarr.$(buildName).osx-app-core-x64.zip'
|
archiveFile: '$(Build.ArtifactStagingDirectory)/Readarr.$(buildName).osx-app-core-x64.zip'
|
||||||
archiveType: 'zip'
|
archiveType: 'zip'
|
||||||
includeRootFolder: false
|
includeRootFolder: false
|
||||||
rootFolderOrFile: $(artifactsFolder)/macos-app/netcoreapp3.1
|
rootFolderOrFile: $(artifactsFolder)/macos-app/netcoreapp3.1
|
||||||
- task: ArchiveFiles@2
|
- task: ArchiveFiles@2
|
||||||
displayName: Create MacOS Core tar
|
displayName: Create MacOS Core tar
|
||||||
inputs:
|
inputs:
|
||||||
archiveFile: '$(Build.ArtifactStagingDirectory)/Lidarr.$(buildName).osx-core-x64.tar.gz'
|
archiveFile: '$(Build.ArtifactStagingDirectory)/Readarr.$(buildName).osx-core-x64.tar.gz'
|
||||||
archiveType: 'tar'
|
archiveType: 'tar'
|
||||||
tarCompression: 'gz'
|
tarCompression: 'gz'
|
||||||
includeRootFolder: false
|
includeRootFolder: false
|
||||||
@@ -210,7 +210,7 @@ stages:
|
|||||||
- task: ArchiveFiles@2
|
- task: ArchiveFiles@2
|
||||||
displayName: Create Linux Mono tar
|
displayName: Create Linux Mono tar
|
||||||
inputs:
|
inputs:
|
||||||
archiveFile: '$(Build.ArtifactStagingDirectory)/Lidarr.$(buildName).linux.tar.gz'
|
archiveFile: '$(Build.ArtifactStagingDirectory)/Readarr.$(buildName).linux.tar.gz'
|
||||||
archiveType: 'tar'
|
archiveType: 'tar'
|
||||||
tarCompression: 'gz'
|
tarCompression: 'gz'
|
||||||
includeRootFolder: false
|
includeRootFolder: false
|
||||||
@@ -218,7 +218,7 @@ stages:
|
|||||||
- task: ArchiveFiles@2
|
- task: ArchiveFiles@2
|
||||||
displayName: Create Linux Core tar
|
displayName: Create Linux Core tar
|
||||||
inputs:
|
inputs:
|
||||||
archiveFile: '$(Build.ArtifactStagingDirectory)/Lidarr.$(buildName).linux-core-x64.tar.gz'
|
archiveFile: '$(Build.ArtifactStagingDirectory)/Readarr.$(buildName).linux-core-x64.tar.gz'
|
||||||
archiveType: 'tar'
|
archiveType: 'tar'
|
||||||
tarCompression: 'gz'
|
tarCompression: 'gz'
|
||||||
includeRootFolder: false
|
includeRootFolder: false
|
||||||
@@ -226,7 +226,7 @@ stages:
|
|||||||
- task: ArchiveFiles@2
|
- task: ArchiveFiles@2
|
||||||
displayName: Create ARM32 Core tar
|
displayName: Create ARM32 Core tar
|
||||||
inputs:
|
inputs:
|
||||||
archiveFile: '$(Build.ArtifactStagingDirectory)/Lidarr.$(buildName).linux-core-arm.tar.gz'
|
archiveFile: '$(Build.ArtifactStagingDirectory)/Readarr.$(buildName).linux-core-arm.tar.gz'
|
||||||
archiveType: 'tar'
|
archiveType: 'tar'
|
||||||
tarCompression: 'gz'
|
tarCompression: 'gz'
|
||||||
includeRootFolder: false
|
includeRootFolder: false
|
||||||
@@ -234,7 +234,7 @@ stages:
|
|||||||
- task: ArchiveFiles@2
|
- task: ArchiveFiles@2
|
||||||
displayName: Create Linux Core tar
|
displayName: Create Linux Core tar
|
||||||
inputs:
|
inputs:
|
||||||
archiveFile: '$(Build.ArtifactStagingDirectory)/Lidarr.$(buildName).linux-core-arm64.tar.gz'
|
archiveFile: '$(Build.ArtifactStagingDirectory)/Readarr.$(buildName).linux-core-arm64.tar.gz'
|
||||||
archiveType: 'tar'
|
archiveType: 'tar'
|
||||||
tarCompression: 'gz'
|
tarCompression: 'gz'
|
||||||
includeRootFolder: false
|
includeRootFolder: false
|
||||||
@@ -245,9 +245,9 @@ stages:
|
|||||||
- bash: |
|
- bash: |
|
||||||
echo "Uploading source maps to sentry"
|
echo "Uploading source maps to sentry"
|
||||||
curl -sL https://sentry.io/get-cli/ | bash
|
curl -sL https://sentry.io/get-cli/ | bash
|
||||||
RELEASENAME="${LIDARRVERSION}-${BUILD_SOURCEBRANCHNAME}"
|
RELEASENAME="${READARRVERSION}-${BUILD_SOURCEBRANCHNAME}"
|
||||||
sentry-cli releases new --finalize -p lidarr -p lidarr-ui -p lidarr-update "${RELEASENAME}"
|
sentry-cli releases new --finalize -p readarr -p readarr-ui -p readarr-update "${RELEASENAME}"
|
||||||
sentry-cli releases -p lidarr-ui files "${RELEASENAME}" upload-sourcemaps _output/UI/ --rewrite
|
sentry-cli releases -p readarr-ui files "${RELEASENAME}" upload-sourcemaps _output/UI/ --rewrite
|
||||||
sentry-cli releases set-commits --auto "${RELEASENAME}"
|
sentry-cli releases set-commits --auto "${RELEASENAME}"
|
||||||
if [[ ${BUILD_SOURCEBRANCH} == "refs/heads/develop" ]]; then
|
if [[ ${BUILD_SOURCEBRANCH} == "refs/heads/develop" ]]; then
|
||||||
sentry-cli releases deploys "${RELEASENAME}" new -e nightly
|
sentry-cli releases deploys "${RELEASENAME}" new -e nightly
|
||||||
@@ -287,7 +287,7 @@ stages:
|
|||||||
osName: 'Linux'
|
osName: 'Linux'
|
||||||
testName: 'LinuxCore'
|
testName: 'LinuxCore'
|
||||||
imageName: 'ubuntu-18.04'
|
imageName: 'ubuntu-18.04'
|
||||||
pattern: 'Lidarr.**.linux-core-x64.tar.gz'
|
pattern: 'Readarr.**.linux-core-x64.tar.gz'
|
||||||
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: $(imageName)
|
vmImage: $(imageName)
|
||||||
@@ -322,7 +322,7 @@ stages:
|
|||||||
chmod a+x _tests/fpcalc
|
chmod a+x _tests/fpcalc
|
||||||
displayName: Set Mono Version and make fpcalc Executable
|
displayName: Set Mono Version and make fpcalc Executable
|
||||||
condition: and(succeeded(), eq(variables['osName'], 'Mac'))
|
condition: and(succeeded(), eq(variables['osName'], 'Mac'))
|
||||||
- bash: find ${TESTSFOLDER} -name "Lidarr.Test.Dummy" -exec chmod a+x {} \;
|
- bash: find ${TESTSFOLDER} -name "Readarr.Test.Dummy" -exec chmod a+x {} \;
|
||||||
displayName: Make Test Dummy Executable
|
displayName: Make Test Dummy Executable
|
||||||
condition: and(succeeded(), ne(variables['osName'], 'Windows'))
|
condition: and(succeeded(), ne(variables['osName'], 'Windows'))
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
@@ -347,16 +347,16 @@ stages:
|
|||||||
matrix:
|
matrix:
|
||||||
mono508:
|
mono508:
|
||||||
testName: 'Mono 5.8'
|
testName: 'Mono 5.8'
|
||||||
containerImage: lidarr/testimages:mono-5.8
|
containerImage: readarr/testimages:mono-5.8
|
||||||
mono520:
|
mono520:
|
||||||
testName: 'Mono 5.20'
|
testName: 'Mono 5.20'
|
||||||
containerImage: lidarr/testimages:mono-5.20
|
containerImage: readarr/testimages:mono-5.20
|
||||||
mono608:
|
mono608:
|
||||||
testName: 'Mono 6.8'
|
testName: 'Mono 6.8'
|
||||||
containerImage: lidarr/testimages:mono-6.8
|
containerImage: readarr/testimages:mono-6.8
|
||||||
mono610:
|
mono610:
|
||||||
testName: 'Mono 6.10'
|
testName: 'Mono 6.10'
|
||||||
containerImage: lidarr/testimages:mono-6.10
|
containerImage: readarr/testimages:mono-6.10
|
||||||
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'ubuntu-18.04'
|
vmImage: 'ubuntu-18.04'
|
||||||
@@ -406,17 +406,17 @@ stages:
|
|||||||
osName: 'Mac'
|
osName: 'Mac'
|
||||||
testName: 'MacCore'
|
testName: 'MacCore'
|
||||||
imageName: 'macos-10.14'
|
imageName: 'macos-10.14'
|
||||||
pattern: 'Lidarr.**.osx-core-x64.tar.gz'
|
pattern: 'Readarr.**.osx-core-x64.tar.gz'
|
||||||
WindowsCore:
|
WindowsCore:
|
||||||
osName: 'Windows'
|
osName: 'Windows'
|
||||||
testName: 'WindowsCore'
|
testName: 'WindowsCore'
|
||||||
imageName: 'windows-2019'
|
imageName: 'windows-2019'
|
||||||
pattern: 'Lidarr.**.windows-core-x64.zip'
|
pattern: 'Readarr.**.windows-core-x64.zip'
|
||||||
LinuxCore:
|
LinuxCore:
|
||||||
osName: 'Linux'
|
osName: 'Linux'
|
||||||
testName: 'LinuxCore'
|
testName: 'LinuxCore'
|
||||||
imageName: 'ubuntu-18.04'
|
imageName: 'ubuntu-18.04'
|
||||||
pattern: 'Lidarr.**.linux-core-x64.tar.gz'
|
pattern: 'Readarr.**.linux-core-x64.tar.gz'
|
||||||
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: $(imageName)
|
vmImage: $(imageName)
|
||||||
@@ -455,7 +455,7 @@ stages:
|
|||||||
displayName: Extract Package
|
displayName: Extract Package
|
||||||
- bash: |
|
- bash: |
|
||||||
mkdir -p ./bin/
|
mkdir -p ./bin/
|
||||||
cp -r -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Lidarr/. ./bin/
|
cp -r -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Readarr/. ./bin/
|
||||||
displayName: Move Package Contents
|
displayName: Move Package Contents
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Run Integration Tests
|
displayName: Run Integration Tests
|
||||||
@@ -477,19 +477,19 @@ stages:
|
|||||||
matrix:
|
matrix:
|
||||||
mono508:
|
mono508:
|
||||||
testName: 'Mono 5.8'
|
testName: 'Mono 5.8'
|
||||||
containerImage: lidarr/testimages:mono-5.8
|
containerImage: readarr/testimages:mono-5.8
|
||||||
mono520:
|
mono520:
|
||||||
testName: 'Mono 5.20'
|
testName: 'Mono 5.20'
|
||||||
containerImage: lidarr/testimages:mono-5.20
|
containerImage: readarr/testimages:mono-5.20
|
||||||
mono608:
|
mono608:
|
||||||
testName: 'Mono 6.8'
|
testName: 'Mono 6.8'
|
||||||
containerImage: lidarr/testimages:mono-6.8
|
containerImage: readarr/testimages:mono-6.8
|
||||||
mono610:
|
mono610:
|
||||||
testName: 'Mono 6.10'
|
testName: 'Mono 6.10'
|
||||||
containerImage: lidarr/testimages:mono-6.10
|
containerImage: readarr/testimages:mono-6.10
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
pattern: 'Lidarr.**.linux.tar.gz'
|
pattern: 'Readarr.**.linux.tar.gz'
|
||||||
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'ubuntu-18.04'
|
vmImage: 'ubuntu-18.04'
|
||||||
@@ -526,7 +526,7 @@ stages:
|
|||||||
displayName: Extract Package
|
displayName: Extract Package
|
||||||
- bash: |
|
- bash: |
|
||||||
mkdir -p ./bin/
|
mkdir -p ./bin/
|
||||||
cp -r -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Lidarr/. ./bin/
|
cp -r -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Readarr/. ./bin/
|
||||||
displayName: Move Package Contents
|
displayName: Move Package Contents
|
||||||
- task: Bash@3
|
- task: Bash@3
|
||||||
displayName: Run Integration Tests
|
displayName: Run Integration Tests
|
||||||
@@ -553,17 +553,17 @@ stages:
|
|||||||
Linux:
|
Linux:
|
||||||
osName: 'Linux'
|
osName: 'Linux'
|
||||||
imageName: 'ubuntu-18.04'
|
imageName: 'ubuntu-18.04'
|
||||||
pattern: 'Lidarr.**.linux-core-x64.tar.gz'
|
pattern: 'Readarr.**.linux-core-x64.tar.gz'
|
||||||
failBuild: true
|
failBuild: true
|
||||||
Mac:
|
Mac:
|
||||||
osName: 'Mac'
|
osName: 'Mac'
|
||||||
imageName: 'macos-10.14' # Fails due to firefox not being installed on image
|
imageName: 'macos-10.14' # Fails due to firefox not being installed on image
|
||||||
pattern: 'Lidarr.**.osx-core-x64.tar.gz'
|
pattern: 'Readarr.**.osx-core-x64.tar.gz'
|
||||||
failBuild: false
|
failBuild: false
|
||||||
Windows:
|
Windows:
|
||||||
osName: 'Windows'
|
osName: 'Windows'
|
||||||
imageName: 'windows-2019'
|
imageName: 'windows-2019'
|
||||||
pattern: 'Lidarr.**.windows-core-x64.zip'
|
pattern: 'Readarr.**.windows-core-x64.zip'
|
||||||
failBuild: true
|
failBuild: true
|
||||||
|
|
||||||
pool:
|
pool:
|
||||||
@@ -595,7 +595,7 @@ stages:
|
|||||||
displayName: Extract Package
|
displayName: Extract Package
|
||||||
- bash: |
|
- bash: |
|
||||||
mkdir -p ./bin/
|
mkdir -p ./bin/
|
||||||
cp -r -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Lidarr/. ./bin/
|
cp -r -v ${BUILD_ARTIFACTSTAGINGDIRECTORY}/bin/Readarr/. ./bin/
|
||||||
displayName: Move Package Contents
|
displayName: Move Package Contents
|
||||||
- bash: |
|
- bash: |
|
||||||
if [[ $OSNAME == "Mac" ]]; then
|
if [[ $OSNAME == "Mac" ]]; then
|
||||||
@@ -652,7 +652,7 @@ stages:
|
|||||||
submodules: true
|
submodules: true
|
||||||
fetchDepth: 1
|
fetchDepth: 1
|
||||||
- bash: ./build.sh --lint
|
- bash: ./build.sh --lint
|
||||||
displayName: Lint Lidarr Frontend
|
displayName: Lint Readarr Frontend
|
||||||
env:
|
env:
|
||||||
FORCE_COLOR: 0
|
FORCE_COLOR: 0
|
||||||
|
|
||||||
@@ -667,12 +667,12 @@ stages:
|
|||||||
SONAR_SCANNER_OPTS: ''
|
SONAR_SCANNER_OPTS: ''
|
||||||
inputs:
|
inputs:
|
||||||
SonarCloud: 'SonarCloud'
|
SonarCloud: 'SonarCloud'
|
||||||
organization: 'lidarr'
|
organization: 'readarr'
|
||||||
scannerMode: 'CLI'
|
scannerMode: 'CLI'
|
||||||
configMode: 'manual'
|
configMode: 'manual'
|
||||||
cliProjectKey: 'lidarr_Lidarr.UI'
|
cliProjectKey: 'readarr_Readarr.UI'
|
||||||
cliProjectName: 'LidarrUI'
|
cliProjectName: 'ReadarrUI'
|
||||||
cliProjectVersion: '$(lidarrVersion)'
|
cliProjectVersion: '$(readarrVersion)'
|
||||||
cliSources: './frontend'
|
cliSources: './frontend'
|
||||||
- task: SonarCloudAnalyze@1
|
- task: SonarCloudAnalyze@1
|
||||||
|
|
||||||
@@ -694,14 +694,14 @@ stages:
|
|||||||
- task: SonarCloudPrepare@1
|
- task: SonarCloudPrepare@1
|
||||||
inputs:
|
inputs:
|
||||||
SonarCloud: 'SonarCloud'
|
SonarCloud: 'SonarCloud'
|
||||||
organization: 'lidarr'
|
organization: 'readarr'
|
||||||
scannerMode: 'MSBuild'
|
scannerMode: 'MSBuild'
|
||||||
projectKey: 'lidarr_Lidarr'
|
projectKey: 'readarr_Readarr'
|
||||||
projectName: 'Lidarr'
|
projectName: 'Readarr'
|
||||||
projectVersion: '$(lidarrVersion)'
|
projectVersion: '$(readarrVersion)'
|
||||||
extraProperties: |
|
extraProperties: |
|
||||||
sonar.exclusions=**/obj/**,**/*.dll,**/NzbDrone.Core.Test/Files/**/*,./frontend/**,**/ExternalModules/**,./src/Libraries/**
|
sonar.exclusions=**/obj/**,**/*.dll,**/NzbDrone.Core.Test/Files/**/*,./frontend/**,**/ExternalModules/**,./src/Libraries/**
|
||||||
sonar.coverage.exclusions=**/Lidarr.Api.V1/**/*,**/MonoTorrent/**/*,**/Marr.Data/**/*
|
sonar.coverage.exclusions=**/Readarr.Api.V1/**/*,**/MonoTorrent/**/*,**/Marr.Data/**/*
|
||||||
sonar.cs.opencover.reportsPaths=$(Build.SourcesDirectory)/CoverageResults/**/coverage.opencover.xml
|
sonar.cs.opencover.reportsPaths=$(Build.SourcesDirectory)/CoverageResults/**/coverage.opencover.xml
|
||||||
sonar.cs.nunit.reportsPaths=$(Build.SourcesDirectory)/TestResult.xml
|
sonar.cs.nunit.reportsPaths=$(Build.SourcesDirectory)/TestResult.xml
|
||||||
- bash: |
|
- bash: |
|
||||||
|
|||||||
58
build.sh
58
build.sh
@@ -19,11 +19,11 @@ ProgressEnd()
|
|||||||
|
|
||||||
UpdateVersionNumber()
|
UpdateVersionNumber()
|
||||||
{
|
{
|
||||||
if [ "$LIDARRVERSION" != "" ]; then
|
if [ "$READARRVERSION" != "" ]; then
|
||||||
echo "Updating Version Info"
|
echo "Updating Version Info"
|
||||||
sed -i'' -e "s/<AssemblyVersion>[0-9.*]\+<\/AssemblyVersion>/<AssemblyVersion>$LIDARRVERSION<\/AssemblyVersion>/g" src/Directory.Build.props
|
sed -i'' -e "s/<AssemblyVersion>[0-9.*]\+<\/AssemblyVersion>/<AssemblyVersion>$READARRVERSION<\/AssemblyVersion>/g" src/Directory.Build.props
|
||||||
sed -i'' -e "s/<AssemblyConfiguration>[\$()A-Za-z-]\+<\/AssemblyConfiguration>/<AssemblyConfiguration>${BUILD_SOURCEBRANCHNAME}<\/AssemblyConfiguration>/g" src/Directory.Build.props
|
sed -i'' -e "s/<AssemblyConfiguration>[\$()A-Za-z-]\+<\/AssemblyConfiguration>/<AssemblyConfiguration>${BUILD_SOURCEBRANCHNAME}<\/AssemblyConfiguration>/g" src/Directory.Build.props
|
||||||
sed -i'' -e "s/<string>10.0.0.0<\/string>/<string>$LIDARRVERSION<\/string>/g" macOS/Lidarr.app/Contents/Info.plist
|
sed -i'' -e "s/<string>10.0.0.0<\/string>/<string>$READARRVERSION<\/string>/g" macOS/Readarr.app/Contents/Info.plist
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ Build()
|
|||||||
rm -rf $outputFolder
|
rm -rf $outputFolder
|
||||||
rm -rf $testPackageFolder
|
rm -rf $testPackageFolder
|
||||||
|
|
||||||
slnFile=src/Lidarr.sln
|
slnFile=src/Readarr.sln
|
||||||
|
|
||||||
if [ $os = "windows" ]; then
|
if [ $os = "windows" ]; then
|
||||||
platform=Windows
|
platform=Windows
|
||||||
@@ -93,7 +93,7 @@ PackageFiles()
|
|||||||
rm -rf $folder
|
rm -rf $folder
|
||||||
mkdir -p $folder
|
mkdir -p $folder
|
||||||
cp -r $outputFolder/$framework/$runtime/publish/* $folder
|
cp -r $outputFolder/$framework/$runtime/publish/* $folder
|
||||||
cp -r $outputFolder/Lidarr.Update/$framework/$runtime/publish $folder/Lidarr.Update
|
cp -r $outputFolder/Readarr.Update/$framework/$runtime/publish $folder/Readarr.Update
|
||||||
cp -r $outputFolder/UI $folder
|
cp -r $outputFolder/UI $folder
|
||||||
|
|
||||||
echo "Adding LICENSE"
|
echo "Adding LICENSE"
|
||||||
@@ -107,7 +107,7 @@ PackageLinux()
|
|||||||
|
|
||||||
ProgressStart "Creating $runtime Package for $framework"
|
ProgressStart "Creating $runtime Package for $framework"
|
||||||
|
|
||||||
local folder=$artifactsFolder/$runtime/$framework/Lidarr
|
local folder=$artifactsFolder/$runtime/$framework/Readarr
|
||||||
|
|
||||||
PackageFiles "$folder" "$framework" "$runtime"
|
PackageFiles "$folder" "$framework" "$runtime"
|
||||||
|
|
||||||
@@ -115,14 +115,14 @@ PackageLinux()
|
|||||||
rm -f $folder/ServiceUninstall.*
|
rm -f $folder/ServiceUninstall.*
|
||||||
rm -f $folder/ServiceInstall.*
|
rm -f $folder/ServiceInstall.*
|
||||||
|
|
||||||
echo "Removing Lidarr.Windows"
|
echo "Removing Readarr.Windows"
|
||||||
rm $folder/Lidarr.Windows.*
|
rm $folder/Readarr.Windows.*
|
||||||
|
|
||||||
echo "Adding Lidarr.Mono to UpdatePackage"
|
echo "Adding Readarr.Mono to UpdatePackage"
|
||||||
cp $folder/Lidarr.Mono.* $folder/Lidarr.Update
|
cp $folder/Readarr.Mono.* $folder/Readarr.Update
|
||||||
if [ "$framework" = "netcoreapp3.1" ]; then
|
if [ "$framework" = "netcoreapp3.1" ]; then
|
||||||
cp $folder/Mono.Posix.NETStandard.* $folder/Lidarr.Update
|
cp $folder/Mono.Posix.NETStandard.* $folder/Readarr.Update
|
||||||
cp $folder/libMonoPosixHelper.* $folder/Lidarr.Update
|
cp $folder/libMonoPosixHelper.* $folder/Readarr.Update
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ProgressEnd "Creating $runtime Package for $framework"
|
ProgressEnd "Creating $runtime Package for $framework"
|
||||||
@@ -134,27 +134,27 @@ PackageMacOS()
|
|||||||
|
|
||||||
ProgressStart "Creating MacOS Package for $framework"
|
ProgressStart "Creating MacOS Package for $framework"
|
||||||
|
|
||||||
local folder=$artifactsFolder/macos/$framework/Lidarr
|
local folder=$artifactsFolder/macos/$framework/Readarr
|
||||||
|
|
||||||
PackageFiles "$folder" "$framework" "osx-x64"
|
PackageFiles "$folder" "$framework" "osx-x64"
|
||||||
|
|
||||||
if [ "$framework" = "net462" ]; then
|
if [ "$framework" = "net462" ]; then
|
||||||
echo "Adding Startup script"
|
echo "Adding Startup script"
|
||||||
cp macOS/Lidarr $folder
|
cp macOS/Readarr $folder
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Removing Service helpers"
|
echo "Removing Service helpers"
|
||||||
rm -f $folder/ServiceUninstall.*
|
rm -f $folder/ServiceUninstall.*
|
||||||
rm -f $folder/ServiceInstall.*
|
rm -f $folder/ServiceInstall.*
|
||||||
|
|
||||||
echo "Removing Lidarr.Windows"
|
echo "Removing Readarr.Windows"
|
||||||
rm $folder/Lidarr.Windows.*
|
rm $folder/Readarr.Windows.*
|
||||||
|
|
||||||
echo "Adding Lidarr.Mono to UpdatePackage"
|
echo "Adding Readarr.Mono to UpdatePackage"
|
||||||
cp $folder/Lidarr.Mono.* $folder/Lidarr.Update
|
cp $folder/Readarr.Mono.* $folder/Readarr.Update
|
||||||
if [ "$framework" = "netcoreapp3.1" ]; then
|
if [ "$framework" = "netcoreapp3.1" ]; then
|
||||||
cp $folder/Mono.Posix.NETStandard.* $folder/Lidarr.Update
|
cp $folder/Mono.Posix.NETStandard.* $folder/Readarr.Update
|
||||||
cp $folder/libMonoPosixHelper.* $folder/Lidarr.Update
|
cp $folder/libMonoPosixHelper.* $folder/Readarr.Update
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ProgressEnd 'Creating MacOS Package'
|
ProgressEnd 'Creating MacOS Package'
|
||||||
@@ -170,14 +170,14 @@ PackageMacOSApp()
|
|||||||
|
|
||||||
rm -rf $folder
|
rm -rf $folder
|
||||||
mkdir -p $folder
|
mkdir -p $folder
|
||||||
cp -r macOS/Lidarr.app $folder
|
cp -r macOS/Readarr.app $folder
|
||||||
mkdir -p $folder/Lidarr.app/Contents/MacOS
|
mkdir -p $folder/Readarr.app/Contents/MacOS
|
||||||
|
|
||||||
echo "Copying Binaries"
|
echo "Copying Binaries"
|
||||||
cp -r $artifactsFolder/macos/$framework/Lidarr/* $folder/Lidarr.app/Contents/MacOS
|
cp -r $artifactsFolder/macos/$framework/Readarr/* $folder/Readarr.app/Contents/MacOS
|
||||||
|
|
||||||
echo "Removing Update Folder"
|
echo "Removing Update Folder"
|
||||||
rm -r $folder/Lidarr.app/Contents/MacOS/Lidarr.Update
|
rm -r $folder/Readarr.app/Contents/MacOS/Readarr.Update
|
||||||
|
|
||||||
ProgressEnd 'Creating macOS App Package'
|
ProgressEnd 'Creating macOS App Package'
|
||||||
}
|
}
|
||||||
@@ -188,17 +188,17 @@ PackageWindows()
|
|||||||
|
|
||||||
ProgressStart "Creating Windows Package for $framework"
|
ProgressStart "Creating Windows Package for $framework"
|
||||||
|
|
||||||
local folder=$artifactsFolder/windows/$framework/Lidarr
|
local folder=$artifactsFolder/windows/$framework/Readarr
|
||||||
|
|
||||||
PackageFiles "$folder" "$framework" "win-x64"
|
PackageFiles "$folder" "$framework" "win-x64"
|
||||||
|
|
||||||
echo "Removing Lidarr.Mono"
|
echo "Removing Readarr.Mono"
|
||||||
rm -f $folder/Lidarr.Mono.*
|
rm -f $folder/Readarr.Mono.*
|
||||||
rm -f $folder/Mono.Posix.NETStandard.*
|
rm -f $folder/Mono.Posix.NETStandard.*
|
||||||
rm -f $folder/libMonoPosixHelper.*
|
rm -f $folder/libMonoPosixHelper.*
|
||||||
|
|
||||||
echo "Adding Lidarr.Windows to UpdatePackage"
|
echo "Adding Readarr.Windows to UpdatePackage"
|
||||||
cp $folder/Lidarr.Windows.* $folder/Lidarr.Update
|
cp $folder/Readarr.Windows.* $folder/Readarr.Update
|
||||||
|
|
||||||
ProgressEnd 'Creating Windows Package'
|
ProgressEnd 'Creating Windows Package'
|
||||||
}
|
}
|
||||||
|
|||||||
8
debian/control
vendored
8
debian/control
vendored
@@ -2,11 +2,11 @@ Section: web
|
|||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Sonarr <contact@nzbdrone.com>
|
Maintainer: Sonarr <contact@nzbdrone.com>
|
||||||
Source: nzbdrone
|
Source: nzbdrone
|
||||||
Homepage: https://lidarr.audio
|
Homepage: https://readarr.audio
|
||||||
Vcs-Git: git@github.com:lidarr/Lidarr.git
|
Vcs-Git: git@github.com:readarr/Readarr.git
|
||||||
Vcs-Browser: https://github.com/lidarr/Lidarr
|
Vcs-Browser: https://github.com/readarr/Readarr
|
||||||
|
|
||||||
Package: nzbdrone
|
Package: nzbdrone
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends: libmono-cil-dev (>= 3.2), sqlite3 (>= 3.7), mediainfo (>= 0.7.52)
|
Depends: libmono-cil-dev (>= 3.2), sqlite3 (>= 3.7), mediainfo (>= 0.7.52)
|
||||||
Description: Lidarr is a music collection manager
|
Description: Readarr is a music collection manager
|
||||||
|
|||||||
4
debian/copyright
vendored
4
debian/copyright
vendored
@@ -1,9 +1,9 @@
|
|||||||
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
Upstream-Name: nzbdrone
|
Upstream-Name: nzbdrone
|
||||||
Source: https://github.com/lidarr/Lidarr
|
Source: https://github.com/readarr/Readarr
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: 2010-2016 Lidarr <hello@lidarr.audio>
|
Copyright: 2010-2016 Readarr <hello@readarr.audio>
|
||||||
|
|
||||||
License: GPL-3.0+
|
License: GPL-3.0+
|
||||||
|
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ function HistoryDetails(props) {
|
|||||||
reasonMessage = 'File was deleted by via UI';
|
reasonMessage = 'File was deleted by via UI';
|
||||||
break;
|
break;
|
||||||
case 'MissingFromDisk':
|
case 'MissingFromDisk':
|
||||||
reasonMessage = 'Lidarr was unable to find the file on disk so it was removed';
|
reasonMessage = 'Readarr was unable to find the file on disk so it was removed';
|
||||||
break;
|
break;
|
||||||
case 'Upgrade':
|
case 'Upgrade':
|
||||||
reasonMessage = 'File was deleted to import an upgrade';
|
reasonMessage = 'File was deleted to import an upgrade';
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ class QueueOptions extends Component {
|
|||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="includeUnknownArtistItems"
|
name="includeUnknownArtistItems"
|
||||||
value={includeUnknownArtistItems}
|
value={includeUnknownArtistItems}
|
||||||
helpText="Show items without a artist in the queue, this could include removed artists, movies or anything else in Lidarr's category"
|
helpText="Show items without a artist in the queue, this could include removed artists, movies or anything else in Readarr's category"
|
||||||
onChange={this.onOptionChange}
|
onChange={this.onOptionChange}
|
||||||
/>
|
/>
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ class RemoveQueueItemModal extends Component {
|
|||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="blacklist"
|
name="blacklist"
|
||||||
value={blacklist}
|
value={blacklist}
|
||||||
helpText="Prevents Lidarr from automatically grabbing this release again"
|
helpText="Prevents Readarr from automatically grabbing this release again"
|
||||||
onChange={this.onBlacklistChange}
|
onChange={this.onBlacklistChange}
|
||||||
/>
|
/>
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
@@ -127,7 +127,7 @@ class RemoveQueueItemModal extends Component {
|
|||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="skipredownload"
|
name="skipredownload"
|
||||||
value={skipredownload}
|
value={skipredownload}
|
||||||
helpText="Prevents Lidarr from trying download an alternative release for this item"
|
helpText="Prevents Readarr from trying download an alternative release for this item"
|
||||||
onChange={this.onSkipReDownloadChange}
|
onChange={this.onSkipReDownloadChange}
|
||||||
/>
|
/>
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ class RemoveQueueItemsModal extends Component {
|
|||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="blacklist"
|
name="blacklist"
|
||||||
value={blacklist}
|
value={blacklist}
|
||||||
helpText="Prevents Lidarr from automatically grabbing these files again"
|
helpText="Prevents Readarr from automatically grabbing these files again"
|
||||||
onChange={this.onBlacklistChange}
|
onChange={this.onBlacklistChange}
|
||||||
/>
|
/>
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
@@ -130,7 +130,7 @@ class RemoveQueueItemsModal extends Component {
|
|||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="skipredownload"
|
name="skipredownload"
|
||||||
value={skipredownload}
|
value={skipredownload}
|
||||||
helpText="Prevents Lidarr from trying download alternative releases for the removed items"
|
helpText="Prevents Readarr from trying download alternative releases for the removed items"
|
||||||
onChange={this.onSkipReDownloadChange}
|
onChange={this.onSkipReDownloadChange}
|
||||||
/>
|
/>
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ class DeleteAlbumModalContent extends Component {
|
|||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="addImportListExclusion"
|
name="addImportListExclusion"
|
||||||
value={addImportListExclusion}
|
value={addImportListExclusion}
|
||||||
helpText="Prevent album from being added to Lidarr by Import Lists or Artist Refresh"
|
helpText="Prevent album from being added to Readarr by Import Lists or Artist Refresh"
|
||||||
kind={kinds.DANGER}
|
kind={kinds.DANGER}
|
||||||
onChange={this.onAddImportListExclusionChange}
|
onChange={this.onAddImportListExclusionChange}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class DeleteAlbumModalContentConnector extends Component {
|
|||||||
|
|
||||||
this.props.onModalClose(true);
|
this.props.onModalClose(true);
|
||||||
|
|
||||||
this.props.push(`${window.Lidarr.urlBase}/artist/${this.props.foreignArtistId}`);
|
this.props.push(`${window.Readarr.urlBase}/artist/${this.props.foreignArtistId}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ class EditAlbumModalContent extends Component {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="monitored"
|
name="monitored"
|
||||||
helpText="Lidarr will search for and download album"
|
helpText="Readarr will search for and download album"
|
||||||
{...monitored}
|
{...monitored}
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
/>
|
/>
|
||||||
@@ -76,7 +76,7 @@ class EditAlbumModalContent extends Component {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="anyReleaseOk"
|
name="anyReleaseOk"
|
||||||
helpText="Lidarr will automatically switch to the release best matching downloaded tracks"
|
helpText="Readarr will automatically switch to the release best matching downloaded tracks"
|
||||||
{...anyReleaseOk}
|
{...anyReleaseOk}
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import AppRoutes from './AppRoutes';
|
|||||||
|
|
||||||
function App({ store, history }) {
|
function App({ store, history }) {
|
||||||
return (
|
return (
|
||||||
<DocumentTitle title="Lidarr">
|
<DocumentTitle title="Readarr">
|
||||||
<Provider store={store}>
|
<Provider store={store}>
|
||||||
<ConnectedRouter history={history}>
|
<ConnectedRouter history={history}>
|
||||||
<PageConnector>
|
<PageConnector>
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ function AppRoutes(props) {
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
{
|
{
|
||||||
window.Lidarr.urlBase &&
|
window.Readarr.urlBase &&
|
||||||
<Route
|
<Route
|
||||||
exact={true}
|
exact={true}
|
||||||
path="/"
|
path="/"
|
||||||
|
|||||||
@@ -25,12 +25,12 @@ function AppUpdatedModalContent(props) {
|
|||||||
return (
|
return (
|
||||||
<ModalContent onModalClose={onModalClose}>
|
<ModalContent onModalClose={onModalClose}>
|
||||||
<ModalHeader>
|
<ModalHeader>
|
||||||
Lidarr Updated
|
Readarr Updated
|
||||||
</ModalHeader>
|
</ModalHeader>
|
||||||
|
|
||||||
<ModalBody>
|
<ModalBody>
|
||||||
<div>
|
<div>
|
||||||
Version <span className={styles.version}>{version}</span> of Lidarr has been installed, in order to get the latest changes you'll need to reload Lidarr.
|
Version <span className={styles.version}>{version}</span> of Readarr has been installed, in order to get the latest changes you'll need to reload Readarr.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ function createMapDispatchToProps(dispatch, props) {
|
|||||||
},
|
},
|
||||||
|
|
||||||
onSeeChangesPress() {
|
onSeeChangesPress() {
|
||||||
window.location = `${window.Lidarr.urlBase}/system/updates`;
|
window.location = `${window.Readarr.urlBase}/system/updates`;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,11 +27,11 @@ function ConnectionLostModal(props) {
|
|||||||
|
|
||||||
<ModalBody>
|
<ModalBody>
|
||||||
<div>
|
<div>
|
||||||
Lidarr has lost its connection to the backend and will need to be reloaded to restore functionality.
|
Readarr has lost its connection to the backend and will need to be reloaded to restore functionality.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className={styles.automatic}>
|
<div className={styles.automatic}>
|
||||||
Lidarr will try to connect automatically, or you can click reload below.
|
Readarr will try to connect automatically, or you can click reload below.
|
||||||
</div>
|
</div>
|
||||||
</ModalBody>
|
</ModalBody>
|
||||||
<ModalFooter>
|
<ModalFooter>
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ class DeleteArtistModalContent extends Component {
|
|||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="addImportListExclusion"
|
name="addImportListExclusion"
|
||||||
value={addImportListExclusion}
|
value={addImportListExclusion}
|
||||||
helpText="Prevent artist from being added to Lidarr by Import lists"
|
helpText="Prevent artist from being added to Readarr by Import lists"
|
||||||
kind={kinds.DANGER}
|
kind={kinds.DANGER}
|
||||||
onChange={this.onAddImportListExclusionChange}
|
onChange={this.onAddImportListExclusionChange}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ class ArtistDetailsPageConnector extends Component {
|
|||||||
|
|
||||||
componentDidUpdate(prevProps) {
|
componentDidUpdate(prevProps) {
|
||||||
if (!this.props.foreignArtistId) {
|
if (!this.props.foreignArtistId) {
|
||||||
this.props.push(`${window.Lidarr.urlBase}/`);
|
this.props.push(`${window.Readarr.urlBase}/`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -290,7 +290,7 @@ class ArtistEditorFooter extends Component {
|
|||||||
isDisabled={!selectedCount || isOrganizingArtist || isRetaggingArtist}
|
isDisabled={!selectedCount || isOrganizingArtist || isRetaggingArtist}
|
||||||
onPress={this.onTagsPress}
|
onPress={this.onTagsPress}
|
||||||
>
|
>
|
||||||
Set Lidarr Tags
|
Set Readarr Tags
|
||||||
</SpinnerButton>
|
</SpinnerButton>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ function getUrls(state) {
|
|||||||
tags
|
tags
|
||||||
} = state;
|
} = state;
|
||||||
|
|
||||||
let icalUrl = `${window.location.host}${window.Lidarr.urlBase}/feed/v1/calendar/Lidarr.ics?`;
|
let icalUrl = `${window.location.host}${window.Readarr.urlBase}/feed/v1/calendar/Readarr.ics?`;
|
||||||
|
|
||||||
if (unmonitored) {
|
if (unmonitored) {
|
||||||
icalUrl += 'unmonitored=true&';
|
icalUrl += 'unmonitored=true&';
|
||||||
@@ -32,7 +32,7 @@ function getUrls(state) {
|
|||||||
icalUrl += `tags=${tags.toString()}&`;
|
icalUrl += `tags=${tags.toString()}&`;
|
||||||
}
|
}
|
||||||
|
|
||||||
icalUrl += `pastDays=${pastDays}&futureDays=${futureDays}&apikey=${window.Lidarr.apiKey}`;
|
icalUrl += `pastDays=${pastDays}&futureDays=${futureDays}&apikey=${window.Readarr.apiKey}`;
|
||||||
|
|
||||||
const iCalHttpUrl = `${window.location.protocol}//${icalUrl}`;
|
const iCalHttpUrl = `${window.location.protocol}//${icalUrl}`;
|
||||||
const iCalWebCalUrl = `webcal://${icalUrl}`;
|
const iCalWebCalUrl = `webcal://${icalUrl}`;
|
||||||
@@ -107,7 +107,7 @@ class CalendarLinkModalContent extends Component {
|
|||||||
return (
|
return (
|
||||||
<ModalContent onModalClose={onModalClose}>
|
<ModalContent onModalClose={onModalClose}>
|
||||||
<ModalHeader>
|
<ModalHeader>
|
||||||
Lidarr Calendar Feed
|
Readarr Calendar Feed
|
||||||
</ModalHeader>
|
</ModalHeader>
|
||||||
|
|
||||||
<ModalBody>
|
<ModalBody>
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ CircularProgressBar.defaultProps = {
|
|||||||
containerClassName: styles.circularProgressBarContainer,
|
containerClassName: styles.circularProgressBarContainer,
|
||||||
size: 60,
|
size: 60,
|
||||||
strokeWidth: 5,
|
strokeWidth: 5,
|
||||||
strokeColor: colors.lidarrGreen,
|
strokeColor: colors.readarrGreen,
|
||||||
showProgressText: false
|
showProgressText: false
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ function ErrorBoundaryError(props) {
|
|||||||
<div className={styles.imageContainer}>
|
<div className={styles.imageContainer}>
|
||||||
<img
|
<img
|
||||||
className={styles.image}
|
className={styles.image}
|
||||||
src={`${window.Lidarr.urlBase}/Content/Images/error.png`}
|
src={`${window.Readarr.urlBase}/Content/Images/error.png`}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ class FileBrowserModalContent extends Component {
|
|||||||
className={styles.mappedDrivesWarning}
|
className={styles.mappedDrivesWarning}
|
||||||
kind={kinds.WARNING}
|
kind={kinds.WARNING}
|
||||||
>
|
>
|
||||||
Mapped network drives are not available when running as a Windows Service, see the <Link className={styles.faqLink} to="https://github.com/Lidarr/Lidarr/wiki/FAQ">FAQ</Link> for more information.
|
Mapped network drives are not available when running as a Windows Service, see the <Link className={styles.faqLink} to="https://github.com/Readarr/Readarr/wiki/FAQ">FAQ</Link> for more information.
|
||||||
</Alert>
|
</Alert>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,13 +47,13 @@ class Link extends Component {
|
|||||||
el = 'a';
|
el = 'a';
|
||||||
linkProps.href = to;
|
linkProps.href = to;
|
||||||
linkProps.target = target || '_self';
|
linkProps.target = target || '_self';
|
||||||
} else if (to.startsWith(`${window.Lidarr.urlBase}/`)) {
|
} else if (to.startsWith(`${window.Readarr.urlBase}/`)) {
|
||||||
el = RouterLink;
|
el = RouterLink;
|
||||||
linkProps.to = to;
|
linkProps.to = to;
|
||||||
linkProps.target = target;
|
linkProps.target = target;
|
||||||
} else {
|
} else {
|
||||||
el = RouterLink;
|
el = RouterLink;
|
||||||
linkProps.to = `${window.Lidarr.urlBase}/${to.replace(/^\//, '')}`;
|
linkProps.to = `${window.Readarr.urlBase}/${to.replace(/^\//, '')}`;
|
||||||
linkProps.target = target;
|
linkProps.target = target;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import styles from './LoadingMessage.css';
|
|||||||
const messages = [
|
const messages = [
|
||||||
'Downloading more RAM',
|
'Downloading more RAM',
|
||||||
'Now in Technicolor',
|
'Now in Technicolor',
|
||||||
'Previously on Lidarr...',
|
'Previously on Readarr...',
|
||||||
'Bleep Bloop.',
|
'Bleep Bloop.',
|
||||||
'Locating the required gigapixels to render...',
|
'Locating the required gigapixels to render...',
|
||||||
'Spinning up the hamster wheel...',
|
'Spinning up the hamster wheel...',
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ function NotFound({ message }) {
|
|||||||
|
|
||||||
<img
|
<img
|
||||||
className={styles.image}
|
className={styles.image}
|
||||||
src={`${window.Lidarr.urlBase}/Content/Images/404.png`}
|
src={`${window.Readarr.urlBase}/Content/Images/404.png`}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</PageContent>
|
</PageContent>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ function ErrorPage(props) {
|
|||||||
systemStatusError
|
systemStatusError
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
let errorMessage = 'Failed to load Lidarr';
|
let errorMessage = 'Failed to load Readarr';
|
||||||
|
|
||||||
if (!isLocalStorageSupported) {
|
if (!isLocalStorageSupported) {
|
||||||
errorMessage = 'Local Storage is not supported or disabled. A plugin or private browsing may have disabled it.';
|
errorMessage = 'Local Storage is not supported or disabled. A plugin or private browsing may have disabled it.';
|
||||||
|
|||||||
@@ -54,11 +54,11 @@ function createMapStateToProps() {
|
|||||||
function createMapDispatchToProps(dispatch, props) {
|
function createMapDispatchToProps(dispatch, props) {
|
||||||
return {
|
return {
|
||||||
onGoToArtist(foreignArtistId) {
|
onGoToArtist(foreignArtistId) {
|
||||||
dispatch(push(`${window.Lidarr.urlBase}/artist/${foreignArtistId}`));
|
dispatch(push(`${window.Readarr.urlBase}/artist/${foreignArtistId}`));
|
||||||
},
|
},
|
||||||
|
|
||||||
onGoToAddNewArtist(query) {
|
onGoToAddNewArtist(query) {
|
||||||
dispatch(push(`${window.Lidarr.urlBase}/add/search?term=${encodeURIComponent(query)}`));
|
dispatch(push(`${window.Readarr.urlBase}/add/search?term=${encodeURIComponent(query)}`));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,11 +53,11 @@ class PageHeader extends Component {
|
|||||||
<div className={styles.logoContainer}>
|
<div className={styles.logoContainer}>
|
||||||
<Link
|
<Link
|
||||||
className={styles.logoLink}
|
className={styles.logoLink}
|
||||||
to={`${window.Lidarr.urlBase}/`}
|
to={`${window.Readarr.urlBase}/`}
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
className={styles.logo}
|
className={styles.logo}
|
||||||
src={`${window.Lidarr.urlBase}/Content/Images/logo.svg`}
|
src={`${window.Readarr.urlBase}/Content/Images/logo.svg`}
|
||||||
/>
|
/>
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
@@ -76,7 +76,7 @@ class PageHeader extends Component {
|
|||||||
<IconButton
|
<IconButton
|
||||||
className={styles.donate}
|
className={styles.donate}
|
||||||
name={icons.HEART}
|
name={icons.HEART}
|
||||||
to="https://opencollective.com/lidarr"
|
to="https://opencollective.com/readarr"
|
||||||
size={14}
|
size={14}
|
||||||
/>
|
/>
|
||||||
<PageHeaderActionsMenuConnector
|
<PageHeaderActionsMenuConnector
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ function PageHeaderActionsMenu(props) {
|
|||||||
{
|
{
|
||||||
formsAuth &&
|
formsAuth &&
|
||||||
<MenuItem
|
<MenuItem
|
||||||
to={`${window.Lidarr.urlBase}/logout`}
|
to={`${window.Readarr.urlBase}/logout`}
|
||||||
noRouter={true}
|
noRouter={true}
|
||||||
>
|
>
|
||||||
<Icon
|
<Icon
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import LoadingPage from './LoadingPage';
|
|||||||
import Page from './Page';
|
import Page from './Page';
|
||||||
|
|
||||||
function testLocalStorage() {
|
function testLocalStorage() {
|
||||||
const key = 'lidarrTest';
|
const key = 'readarrTest';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
localStorage.setItem(key, key);
|
localStorage.setItem(key, key);
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ function PageContent(props) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<ErrorBoundary errorComponent={PageContentError}>
|
<ErrorBoundary errorComponent={PageContentError}>
|
||||||
<DocumentTitle title={title ? `${title} - Lidarr` : 'Lidarr'}>
|
<DocumentTitle title={title ? `${title} - Readarr` : 'Readarr'}>
|
||||||
<div className={className}>
|
<div className={className}>
|
||||||
{children}
|
{children}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -430,7 +430,7 @@ class PageSidebar extends Component {
|
|||||||
transform
|
transform
|
||||||
} = this.state;
|
} = this.state;
|
||||||
|
|
||||||
const urlBase = window.Lidarr.urlBase;
|
const urlBase = window.Readarr.urlBase;
|
||||||
const pathname = urlBase ? location.pathname.substr(urlBase.length) || '/' : location.pathname;
|
const pathname = urlBase ? location.pathname.substr(urlBase.length) || '/' : location.pathname;
|
||||||
const activeParent = getActiveParent(pathname);
|
const activeParent = getActiveParent(pathname);
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ function Logger(minimumLogLevel) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Logger.prototype.cleanse = function(message) {
|
Logger.prototype.cleanse = function(message) {
|
||||||
const apikey = new RegExp(`access_token=${window.Lidarr.apiKey}`, 'g');
|
const apikey = new RegExp(`access_token=${window.Readarr.apiKey}`, 'g');
|
||||||
return message.replace(apikey, 'access_token=(removed)');
|
return message.replace(apikey, 'access_token=(removed)');
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -99,11 +99,11 @@ class SignalRConnector extends Component {
|
|||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
console.log('[signalR] starting');
|
console.log('[signalR] starting');
|
||||||
|
|
||||||
const url = `${window.Lidarr.urlBase}/signalr/messages`;
|
const url = `${window.Readarr.urlBase}/signalr/messages`;
|
||||||
|
|
||||||
this.connection = new signalR.HubConnectionBuilder()
|
this.connection = new signalR.HubConnectionBuilder()
|
||||||
.configureLogging(new Logger(signalR.LogLevel.Information))
|
.configureLogging(new Logger(signalR.LogLevel.Information))
|
||||||
.withUrl(`${url}?access_token=${window.Lidarr.apiKey}`)
|
.withUrl(`${url}?access_token=${window.Readarr.apiKey}`)
|
||||||
.withAutomaticReconnect({
|
.withAutomaticReconnect({
|
||||||
nextRetryDelayInMilliseconds: (retryContext) => {
|
nextRetryDelayInMilliseconds: (retryContext) => {
|
||||||
if (retryContext.elapsedMilliseconds > 180000) {
|
if (retryContext.elapsedMilliseconds > 180000) {
|
||||||
|
|||||||
@@ -214,7 +214,7 @@ class InteractiveSearchRow extends Component {
|
|||||||
isOpen={this.state.isConfirmGrabModalOpen}
|
isOpen={this.state.isConfirmGrabModalOpen}
|
||||||
kind={kinds.WARNING}
|
kind={kinds.WARNING}
|
||||||
title="Grab Release"
|
title="Grab Release"
|
||||||
message={`Lidarr was unable to determine which artist and album this release was for. Lidarr may be unable to automatically import this release. Do you want to grab '${title}'?`}
|
message={`Readarr was unable to determine which artist and album this release was for. Readarr may be unable to automatically import this release. Do you want to grab '${title}'?`}
|
||||||
confirmLabel="Grab"
|
confirmLabel="Grab"
|
||||||
onConfirm={this.onGrabConfirm}
|
onConfirm={this.onGrabConfirm}
|
||||||
onCancel={this.onGrabCancel}
|
onCancel={this.onGrabCancel}
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ class AddNewItem extends Component {
|
|||||||
className={styles.searchInput}
|
className={styles.searchInput}
|
||||||
name="searchBox"
|
name="searchBox"
|
||||||
value={term}
|
value={term}
|
||||||
placeholder="eg. Breaking Benjamin, lidarr:854a1807-025b-42a8-ba8c-2a39717f1d25"
|
placeholder="eg. Breaking Benjamin, readarr:854a1807-025b-42a8-ba8c-2a39717f1d25"
|
||||||
autoFocus={true}
|
autoFocus={true}
|
||||||
onChange={this.onSearchInputChange}
|
onChange={this.onSearchInputChange}
|
||||||
/>
|
/>
|
||||||
@@ -163,7 +163,7 @@ class AddNewItem extends Component {
|
|||||||
<div>
|
<div>
|
||||||
You can also search using the
|
You can also search using the
|
||||||
<Link to="https://musicbrainz.org/search"> MusicBrainz ID </Link>
|
<Link to="https://musicbrainz.org/search"> MusicBrainz ID </Link>
|
||||||
of an artist e.g. lidarr:cc197bad-dc9c-440d-a5b5-d52ba2e14234
|
of an artist e.g. readarr:cc197bad-dc9c-440d-a5b5-d52ba2e14234
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
@@ -175,7 +175,7 @@ class AddNewItem extends Component {
|
|||||||
<div>
|
<div>
|
||||||
You can also search using the
|
You can also search using the
|
||||||
<Link to="https://musicbrainz.org/search"> MusicBrainz ID </Link>
|
<Link to="https://musicbrainz.org/search"> MusicBrainz ID </Link>
|
||||||
of an artist e.g. lidarr:cc197bad-dc9c-440d-a5b5-d52ba2e14234
|
of an artist e.g. readarr:cc197bad-dc9c-440d-a5b5-d52ba2e14234
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ class AddDownloadClientModalContent extends Component {
|
|||||||
<div>
|
<div>
|
||||||
|
|
||||||
<Alert kind={kinds.INFO}>
|
<Alert kind={kinds.INFO}>
|
||||||
<div>Lidarr supports any downloadClient that uses the Newznab standard, as well as other downloadClients listed below.</div>
|
<div>Readarr supports any downloadClient that uses the Newznab standard, as well as other downloadClients listed below.</div>
|
||||||
<div>For more information on the individual downloadClients, click on the info buttons.</div>
|
<div>For more information on the individual downloadClients, click on the info buttons.</div>
|
||||||
</Alert>
|
</Alert>
|
||||||
|
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ function EditRemotePathMappingModalContent(props) {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.PATH}
|
type={inputTypes.PATH}
|
||||||
name="localPath"
|
name="localPath"
|
||||||
helpText="Path that Lidarr should use to access the remote path locally"
|
helpText="Path that Readarr should use to access the remote path locally"
|
||||||
{...localPath}
|
{...localPath}
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ function AnalyticSettings(props) {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="analyticsEnabled"
|
name="analyticsEnabled"
|
||||||
helpText="Send anonymous usage and error information to Lidarr's servers. This includes information on your browser, which Lidarr WebUI pages you use, error reporting as well as OS and runtime version. We will use this information to prioritize features and bug fixes."
|
helpText="Send anonymous usage and error information to Readarr's servers. This includes information on your browser, which Readarr WebUI pages you use, error reporting as well as OS and runtime version. We will use this information to prioritize features and bug fixes."
|
||||||
helpTextWarning="Requires restart to take effect"
|
helpTextWarning="Requires restart to take effect"
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...analyticsEnabled}
|
{...analyticsEnabled}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ function BackupSettings(props) {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.PATH}
|
type={inputTypes.PATH}
|
||||||
name="backupFolder"
|
name="backupFolder"
|
||||||
helpText="Relative paths will be under Lidarr's AppData directory"
|
helpText="Relative paths will be under Readarr's AppData directory"
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...backupFolder}
|
{...backupFolder}
|
||||||
/>
|
/>
|
||||||
@@ -50,7 +50,7 @@ function BackupSettings(props) {
|
|||||||
type={inputTypes.NUMBER}
|
type={inputTypes.NUMBER}
|
||||||
name="backupInterval"
|
name="backupInterval"
|
||||||
unit="days"
|
unit="days"
|
||||||
helpText="Interval to backup the Lidarr DB and settings"
|
helpText="Interval to backup the Readarr DB and settings"
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...backupInterval}
|
{...backupInterval}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -179,9 +179,9 @@ class GeneralSettings extends Component {
|
|||||||
<ConfirmModal
|
<ConfirmModal
|
||||||
isOpen={this.state.isRestartRequiredModalOpen}
|
isOpen={this.state.isRestartRequiredModalOpen}
|
||||||
kind={kinds.DANGER}
|
kind={kinds.DANGER}
|
||||||
title="Restart Lidarr"
|
title="Restart Readarr"
|
||||||
message={
|
message={
|
||||||
`Lidarr requires a restart to apply changes, do you want to restart now? ${isWindowsService ? 'Depending which user is running the Lidarr service you may need to restart Lidarr as admin once before the service will start automatically.' : ''}`
|
`Readarr requires a restart to apply changes, do you want to restart now? ${isWindowsService ? 'Depending which user is running the Readarr service you may need to restart Readarr as admin once before the service will start automatically.' : ''}`
|
||||||
}
|
}
|
||||||
cancelLabel="I'll restart later"
|
cancelLabel="I'll restart later"
|
||||||
confirmLabel="Restart Now"
|
confirmLabel="Restart Now"
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ function HostSettings(props) {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="launchBrowser"
|
name="launchBrowser"
|
||||||
helpText=" Open a web browser and navigate to Lidarr homepage on app start."
|
helpText=" Open a web browser and navigate to Readarr homepage on app start."
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...launchBrowser}
|
{...launchBrowser}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ class SecuritySettings extends Component {
|
|||||||
type={inputTypes.SELECT}
|
type={inputTypes.SELECT}
|
||||||
name="authenticationMethod"
|
name="authenticationMethod"
|
||||||
values={authenticationMethodOptions}
|
values={authenticationMethodOptions}
|
||||||
helpText="Require Username and Password to access Lidarr"
|
helpText="Require Username and Password to access Readarr"
|
||||||
helpTextWarning="Requires restart to take effect"
|
helpTextWarning="Requires restart to take effect"
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...authenticationMethod}
|
{...authenticationMethod}
|
||||||
|
|||||||
@@ -55,8 +55,8 @@ function UpdateSettings(props) {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.AUTO_COMPLETE}
|
type={inputTypes.AUTO_COMPLETE}
|
||||||
name="branch"
|
name="branch"
|
||||||
helpText="Branch to use to update Lidarr"
|
helpText="Branch to use to update Readarr"
|
||||||
helpLink="https://github.com/Lidarr/Lidarr/wiki/Release-Branches"
|
helpLink="https://github.com/Readarr/Readarr/wiki/Release-Branches"
|
||||||
{...branch}
|
{...branch}
|
||||||
values={branchValues}
|
values={branchValues}
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
@@ -92,8 +92,8 @@ function UpdateSettings(props) {
|
|||||||
type={inputTypes.SELECT}
|
type={inputTypes.SELECT}
|
||||||
name="updateMechanism"
|
name="updateMechanism"
|
||||||
values={updateOptions}
|
values={updateOptions}
|
||||||
helpText="Use Lidarr's built-in updater or a script"
|
helpText="Use Readarr's built-in updater or a script"
|
||||||
helpLink="https://github.com/Lidarr/Lidarr/wiki/Updating"
|
helpLink="https://github.com/Readarr/Readarr/wiki/Updating"
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...updateMechanism}
|
{...updateMechanism}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ class AddImportListModalContent extends Component {
|
|||||||
<div>
|
<div>
|
||||||
|
|
||||||
<Alert kind={kinds.INFO}>
|
<Alert kind={kinds.INFO}>
|
||||||
<div>Lidarr supports multiple lists for importing Albums and Artists into the database.</div>
|
<div>Readarr supports multiple lists for importing Albums and Artists into the database.</div>
|
||||||
<div>For more information on the individual lists, click on the info buttons.</div>
|
<div>For more information on the individual lists, click on the info buttons.</div>
|
||||||
</Alert>
|
</Alert>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ function EditImportListModalContent(props) {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="enableAutomaticAdd"
|
name="enableAutomaticAdd"
|
||||||
helpText={'Add artist/albums to Lidarr when syncs are performed via the UI or by Lidarr'}
|
helpText={'Add artist/albums to Readarr when syncs are performed via the UI or by Readarr'}
|
||||||
{...enableAutomaticAdd}
|
{...enableAutomaticAdd}
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
/>
|
/>
|
||||||
@@ -186,7 +186,7 @@ function EditImportListModalContent(props) {
|
|||||||
</FormGroup>
|
</FormGroup>
|
||||||
|
|
||||||
<FormGroup>
|
<FormGroup>
|
||||||
<FormLabel>Lidarr Tags</FormLabel>
|
<FormLabel>Readarr Tags</FormLabel>
|
||||||
|
|
||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.TAG}
|
type={inputTypes.TAG}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ class AddIndexerModalContent extends Component {
|
|||||||
<div>
|
<div>
|
||||||
|
|
||||||
<Alert kind={kinds.INFO}>
|
<Alert kind={kinds.INFO}>
|
||||||
<div>Lidarr supports any indexer that uses the Newznab standard, as well as other indexers listed below.</div>
|
<div>Readarr supports any indexer that uses the Newznab standard, as well as other indexers listed below.</div>
|
||||||
<div>For more information on the individual indexers, click on the info buttons.</div>
|
<div>For more information on the individual indexers, click on the info buttons.</div>
|
||||||
</Alert>
|
</Alert>
|
||||||
|
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ function EditIndexerModalContent(props) {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="enableAutomaticSearch"
|
name="enableAutomaticSearch"
|
||||||
helpText={supportsSearch.value ? 'Will be used when automatic searches are performed via the UI or by Lidarr' : undefined}
|
helpText={supportsSearch.value ? 'Will be used when automatic searches are performed via the UI or by Readarr' : undefined}
|
||||||
helpTextWarning={supportsSearch.value ? undefined : 'Search is not supported with this indexer'}
|
helpTextWarning={supportsSearch.value ? undefined : 'Search is not supported with this indexer'}
|
||||||
isDisabled={!supportsSearch.value}
|
isDisabled={!supportsSearch.value}
|
||||||
{...enableAutomaticSearch}
|
{...enableAutomaticSearch}
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ function IndexerOptions(props) {
|
|||||||
unit="minutes"
|
unit="minutes"
|
||||||
helpText="Interval in minutes. Set to zero to disable (this will stop all automatic release grabbing)"
|
helpText="Interval in minutes. Set to zero to disable (this will stop all automatic release grabbing)"
|
||||||
helpTextWarning="This will apply to all indexers, please follow the rules set forth by them"
|
helpTextWarning="This will apply to all indexers, please follow the rules set forth by them"
|
||||||
helpLink="https://github.com/Lidarr/Lidarr/wiki/RSS-Sync"
|
helpLink="https://github.com/Readarr/Readarr/wiki/RSS-Sync"
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...settings.rssSyncInterval}
|
{...settings.rssSyncInterval}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ class MediaManagement extends Component {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="skipFreeSpaceCheckWhenImporting"
|
name="skipFreeSpaceCheckWhenImporting"
|
||||||
helpText="Use when Lidarr is unable to detect free space from your artist root folder"
|
helpText="Use when Readarr is unable to detect free space from your artist root folder"
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...settings.skipFreeSpaceCheckWhenImporting}
|
{...settings.skipFreeSpaceCheckWhenImporting}
|
||||||
/>
|
/>
|
||||||
@@ -175,7 +175,7 @@ class MediaManagement extends Component {
|
|||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="copyUsingHardlinks"
|
name="copyUsingHardlinks"
|
||||||
helpText="Use Hardlinks when trying to copy files from torrents that are still being seeded"
|
helpText="Use Hardlinks when trying to copy files from torrents that are still being seeded"
|
||||||
helpTextWarning="Occasionally, file locks may prevent renaming files that are being seeded. You may temporarily disable seeding and use Lidarr's rename function as a work around."
|
helpTextWarning="Occasionally, file locks may prevent renaming files that are being seeded. You may temporarily disable seeding and use Readarr's rename function as a work around."
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...settings.copyUsingHardlinks}
|
{...settings.copyUsingHardlinks}
|
||||||
/>
|
/>
|
||||||
@@ -225,7 +225,7 @@ class MediaManagement extends Component {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="autoUnmonitorPreviouslyDownloadedTracks"
|
name="autoUnmonitorPreviouslyDownloadedTracks"
|
||||||
helpText="Tracks deleted from disk are automatically unmonitored in Lidarr"
|
helpText="Tracks deleted from disk are automatically unmonitored in Readarr"
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...settings.autoUnmonitorPreviouslyDownloadedTracks}
|
{...settings.autoUnmonitorPreviouslyDownloadedTracks}
|
||||||
/>
|
/>
|
||||||
@@ -282,7 +282,7 @@ class MediaManagement extends Component {
|
|||||||
type={inputTypes.SELECT}
|
type={inputTypes.SELECT}
|
||||||
name="rescanAfterRefresh"
|
name="rescanAfterRefresh"
|
||||||
helpText="Rescan the artist folder after refreshing the artist"
|
helpText="Rescan the artist folder after refreshing the artist"
|
||||||
helpTextWarning="Lidarr will not automatically detect changes to files when not set to 'Always'"
|
helpTextWarning="Readarr will not automatically detect changes to files when not set to 'Always'"
|
||||||
values={rescanAfterRefreshOptions}
|
values={rescanAfterRefreshOptions}
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...settings.rescanAfterRefresh}
|
{...settings.rescanAfterRefresh}
|
||||||
@@ -299,7 +299,7 @@ class MediaManagement extends Component {
|
|||||||
type={inputTypes.SELECT}
|
type={inputTypes.SELECT}
|
||||||
name="allowFingerprinting"
|
name="allowFingerprinting"
|
||||||
helpText="Use fingerprinting to improve accuracy of track matching"
|
helpText="Use fingerprinting to improve accuracy of track matching"
|
||||||
helpTextWarning="This requires Lidarr to read parts of the file which will slow down scans and may cause high disk or network activity."
|
helpTextWarning="This requires Readarr to read parts of the file which will slow down scans and may cause high disk or network activity."
|
||||||
values={allowFingerprintingOptions}
|
values={allowFingerprintingOptions}
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...settings.allowFingerprinting}
|
{...settings.allowFingerprinting}
|
||||||
@@ -386,7 +386,7 @@ class MediaManagement extends Component {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.TEXT}
|
type={inputTypes.TEXT}
|
||||||
name="fileChmod"
|
name="fileChmod"
|
||||||
helpText="Octal, applied to media files when imported/renamed by Lidarr"
|
helpText="Octal, applied to media files when imported/renamed by Readarr"
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...settings.fileChmod}
|
{...settings.fileChmod}
|
||||||
/>
|
/>
|
||||||
@@ -401,7 +401,7 @@ class MediaManagement extends Component {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.TEXT}
|
type={inputTypes.TEXT}
|
||||||
name="folderChmod"
|
name="folderChmod"
|
||||||
helpText="Octal, applied to artist/album folders created by Lidarr"
|
helpText="Octal, applied to artist/album folders created by Readarr"
|
||||||
values={fileDateOptions}
|
values={fileDateOptions}
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...settings.folderChmod}
|
{...settings.folderChmod}
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ class Naming extends Component {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="renameTracks"
|
name="renameTracks"
|
||||||
helpText="Lidarr will use the existing file name if renaming is disabled"
|
helpText="Readarr will use the existing file name if renaming is disabled"
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...settings.renameTracks}
|
{...settings.renameTracks}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -156,12 +156,12 @@ function EditRootFolderModalContent(props) {
|
|||||||
</FormGroup>
|
</FormGroup>
|
||||||
|
|
||||||
<FormGroup>
|
<FormGroup>
|
||||||
<FormLabel>Default Lidarr Tags</FormLabel>
|
<FormLabel>Default Readarr Tags</FormLabel>
|
||||||
|
|
||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.TAG}
|
type={inputTypes.TAG}
|
||||||
name="defaultTags"
|
name="defaultTags"
|
||||||
helpText="Default Lidarr Tags for artists detected in this folder"
|
helpText="Default Readarr Tags for artists detected in this folder"
|
||||||
{...defaultTags}
|
{...defaultTags}
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ function MetadataProvider(props) {
|
|||||||
type={inputTypes.TEXT}
|
type={inputTypes.TEXT}
|
||||||
name="metadataSource"
|
name="metadataSource"
|
||||||
helpText="Alternative Metadata Source (Leave blank for default)"
|
helpText="Alternative Metadata Source (Leave blank for default)"
|
||||||
helpLink="https://github.com/Lidarr/Lidarr/wiki/Metadata-Source"
|
helpLink="https://github.com/Readarr/Readarr/wiki/Metadata-Source"
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...settings.metadataSource}
|
{...settings.metadataSource}
|
||||||
/>
|
/>
|
||||||
@@ -70,7 +70,7 @@ function MetadataProvider(props) {
|
|||||||
type={inputTypes.SELECT}
|
type={inputTypes.SELECT}
|
||||||
name="writeAudioTags"
|
name="writeAudioTags"
|
||||||
helpTextWarning="Selecting 'All files' will alter existing files when they are imported."
|
helpTextWarning="Selecting 'All files' will alter existing files when they are imported."
|
||||||
helpLink="https://github.com/Lidarr/Lidarr/wiki/Write-Tags"
|
helpLink="https://github.com/Readarr/Readarr/wiki/Write-Tags"
|
||||||
values={writeAudioTagOptions}
|
values={writeAudioTagOptions}
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...settings.writeAudioTags}
|
{...settings.writeAudioTags}
|
||||||
@@ -83,7 +83,7 @@ function MetadataProvider(props) {
|
|||||||
<FormInputGroup
|
<FormInputGroup
|
||||||
type={inputTypes.CHECK}
|
type={inputTypes.CHECK}
|
||||||
name="scrubAudioTags"
|
name="scrubAudioTags"
|
||||||
helpText="Remove existing tags from files, leaving only those added by Lidarr."
|
helpText="Remove existing tags from files, leaving only those added by Readarr."
|
||||||
onChange={onInputChange}
|
onChange={onInputChange}
|
||||||
{...settings.scrubAudioTags}
|
{...settings.scrubAudioTags}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ function NotificationEventItems(props) {
|
|||||||
<div>
|
<div>
|
||||||
<FormInputHelpText
|
<FormInputHelpText
|
||||||
text="Select which events should trigger this notification"
|
text="Select which events should trigger this notification"
|
||||||
link="https://github.com/lidarr/Lidarr/wiki/Connections"
|
link="https://github.com/readarr/Readarr/wiki/Connections"
|
||||||
/>
|
/>
|
||||||
<div className={styles.events}>
|
<div className={styles.events}>
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ class EditQualityProfileModalContent extends Component {
|
|||||||
name="cutoff"
|
name="cutoff"
|
||||||
{...cutoff}
|
{...cutoff}
|
||||||
values={qualities}
|
values={qualities}
|
||||||
helpText="Once this quality is reached Lidarr will no longer download albums"
|
helpText="Once this quality is reached Readarr will no longer download albums"
|
||||||
onChange={onCutoffChange}
|
onChange={onCutoffChange}
|
||||||
/>
|
/>
|
||||||
</FormGroup>
|
</FormGroup>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ function Tags(props) {
|
|||||||
|
|
||||||
if (!items.length) {
|
if (!items.length) {
|
||||||
return (
|
return (
|
||||||
<div>No tags have been added yet. Add tags to link artists with delay profiles, restrictions, or notifications. Click <Link to='https://github.com/lidarr/Lidarr/wiki/Tags'>here</Link> to find out more about tags in Lidarr.</div>
|
<div>No tags have been added yet. Add tags to link artists with delay profiles, restrictions, or notifications. Click <Link to='https://github.com/readarr/Readarr/wiki/Tags'>here</Link> to find out more about tags in Readarr.</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
if (window.Lidarr.analytics) {
|
if (window.Readarr.analytics) {
|
||||||
const d = document;
|
const d = document;
|
||||||
const g = d.createElement('script');
|
const g = d.createElement('script');
|
||||||
const s = d.getElementsByTagName('script')[0];
|
const s = d.getElementsByTagName('script')[0];
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ export const defaultState = {
|
|||||||
messages: {
|
messages: {
|
||||||
items: []
|
items: []
|
||||||
},
|
},
|
||||||
version: window.Lidarr.version,
|
version: window.Readarr.version,
|
||||||
isUpdated: false,
|
isUpdated: false,
|
||||||
isConnected: true,
|
isConnected: true,
|
||||||
isReconnecting: false,
|
isReconnecting: false,
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import createHandleActions from './Creators/createHandleActions';
|
|||||||
// Variables
|
// Variables
|
||||||
|
|
||||||
export const section = 'oAuth';
|
export const section = 'oAuth';
|
||||||
const callbackUrl = `${window.location.origin}${window.Lidarr.urlBase}/oauth.html`;
|
const callbackUrl = `${window.location.origin}${window.Readarr.urlBase}/oauth.html`;
|
||||||
|
|
||||||
//
|
//
|
||||||
// State
|
// State
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ const config = {
|
|||||||
slicer,
|
slicer,
|
||||||
serialize,
|
serialize,
|
||||||
merge,
|
merge,
|
||||||
key: 'lidarr'
|
key: 'readarr'
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function createPersistState() {
|
export default function createPersistState() {
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ function identity(stuff) {
|
|||||||
|
|
||||||
function stripUrlBase(frame) {
|
function stripUrlBase(frame) {
|
||||||
if (frame.filename && window.Radarr.urlBase) {
|
if (frame.filename && window.Radarr.urlBase) {
|
||||||
frame.filename = frame.filename.replace(window.Lidarr.urlBase, '');
|
frame.filename = frame.filename.replace(window.Readarr.urlBase, '');
|
||||||
}
|
}
|
||||||
return frame;
|
return frame;
|
||||||
}
|
}
|
||||||
@@ -74,14 +74,14 @@ export default function createSentryMiddleware() {
|
|||||||
release,
|
release,
|
||||||
userHash,
|
userHash,
|
||||||
isProduction
|
isProduction
|
||||||
} = window.Lidarr;
|
} = window.Readarr;
|
||||||
|
|
||||||
if (!analytics) {
|
if (!analytics) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const dsn = isProduction ? 'https://3639f9e2e2ae4872846b1c30d3122106@sentry.radarr.video/12' :
|
const dsn = isProduction ? 'https://c2c8e08845994dbfb7eddb158b408172@sentry.radarr.video/18' :
|
||||||
'https://099b1f21a5794acebd3160859035bda7@sentry.radarr.video/14';
|
'https://c2c8e08845994dbfb7eddb158b408172@sentry.radarr.video/18';
|
||||||
|
|
||||||
sentry.init({
|
sentry.init({
|
||||||
dsn,
|
dsn,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const lidarrGreen = '#00A65B';
|
const readarrGreen = '#00A65B';
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
textColor: '#515253',
|
textColor: '#515253',
|
||||||
@@ -15,10 +15,10 @@ module.exports = {
|
|||||||
successColor: '#27c24c',
|
successColor: '#27c24c',
|
||||||
dangerColor: '#f05050',
|
dangerColor: '#f05050',
|
||||||
warningColor: '#ffa500',
|
warningColor: '#ffa500',
|
||||||
infoColor: lidarrGreen,
|
infoColor: readarrGreen,
|
||||||
purple: '#7a43b6',
|
purple: '#7a43b6',
|
||||||
pink: '#ff69b4',
|
pink: '#ff69b4',
|
||||||
lidarrGreen,
|
readarrGreen,
|
||||||
helpTextColor: '#909293',
|
helpTextColor: '#909293',
|
||||||
darkGray: '#888',
|
darkGray: '#888',
|
||||||
gray: '#adadad',
|
gray: '#adadad',
|
||||||
@@ -27,7 +27,7 @@ module.exports = {
|
|||||||
|
|
||||||
// Theme Colors
|
// Theme Colors
|
||||||
|
|
||||||
themeBlue: lidarrGreen,
|
themeBlue: readarrGreen,
|
||||||
themeAlternateBlue: '#00a65b',
|
themeAlternateBlue: '#00a65b',
|
||||||
themeRed: '#c4273c',
|
themeRed: '#c4273c',
|
||||||
themeDarkColor: '#353535',
|
themeDarkColor: '#353535',
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ class BackupRow extends Component {
|
|||||||
|
|
||||||
<TableRowCell>
|
<TableRowCell>
|
||||||
<Link
|
<Link
|
||||||
to={`${window.Lidarr.urlBase}${path}`}
|
to={`${window.Readarr.urlBase}${path}`}
|
||||||
noRouter={true}
|
noRouter={true}
|
||||||
>
|
>
|
||||||
{name}
|
{name}
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ class RestoreBackupModalContent extends Component {
|
|||||||
|
|
||||||
<ModalFooter>
|
<ModalFooter>
|
||||||
<div className={styles.additionalInfo}>
|
<div className={styles.additionalInfo}>
|
||||||
Note: Lidarr will automatically restart and reload the UI during the restore process.
|
Note: Readarr will automatically restart and reload the UI during the restore process.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Button onPress={onModalClose}>
|
<Button onPress={onModalClose}>
|
||||||
|
|||||||
@@ -16,27 +16,27 @@ class MoreInfo extends Component {
|
|||||||
<DescriptionList>
|
<DescriptionList>
|
||||||
<DescriptionListItemTitle>Home page</DescriptionListItemTitle>
|
<DescriptionListItemTitle>Home page</DescriptionListItemTitle>
|
||||||
<DescriptionListItemDescription>
|
<DescriptionListItemDescription>
|
||||||
<Link to="https://lidarr.audio/">lidarr.audio</Link>
|
<Link to="https://readarr.audio/">readarr.audio</Link>
|
||||||
</DescriptionListItemDescription>
|
</DescriptionListItemDescription>
|
||||||
|
|
||||||
<DescriptionListItemTitle>Wiki</DescriptionListItemTitle>
|
<DescriptionListItemTitle>Wiki</DescriptionListItemTitle>
|
||||||
<DescriptionListItemDescription>
|
<DescriptionListItemDescription>
|
||||||
<Link to="https://github.com/lidarr/Lidarr/wiki">wiki.lidarr.audio</Link>
|
<Link to="https://github.com/readarr/Readarr/wiki">wiki.readarr.audio</Link>
|
||||||
</DescriptionListItemDescription>
|
</DescriptionListItemDescription>
|
||||||
|
|
||||||
<DescriptionListItemTitle>Reddit</DescriptionListItemTitle>
|
<DescriptionListItemTitle>Reddit</DescriptionListItemTitle>
|
||||||
<DescriptionListItemDescription>
|
<DescriptionListItemDescription>
|
||||||
<Link to="https://www.reddit.com/r/Lidarr/">Lidarr</Link>
|
<Link to="https://www.reddit.com/r/Readarr/">Readarr</Link>
|
||||||
</DescriptionListItemDescription>
|
</DescriptionListItemDescription>
|
||||||
|
|
||||||
<DescriptionListItemTitle>Discord</DescriptionListItemTitle>
|
<DescriptionListItemTitle>Discord</DescriptionListItemTitle>
|
||||||
<DescriptionListItemDescription>
|
<DescriptionListItemDescription>
|
||||||
<Link to="https://discord.gg/8Y7rDc9">#lidarr on Discord</Link>
|
<Link to="https://discord.gg/8Y7rDc9">#readarr on Discord</Link>
|
||||||
</DescriptionListItemDescription>
|
</DescriptionListItemDescription>
|
||||||
|
|
||||||
<DescriptionListItemTitle>Donations</DescriptionListItemTitle>
|
<DescriptionListItemTitle>Donations</DescriptionListItemTitle>
|
||||||
<DescriptionListItemDescription>
|
<DescriptionListItemDescription>
|
||||||
<Link to="https://opencollective.com/lidarr">Donate to Lidarr</Link>
|
<Link to="https://opencollective.com/readarr">Donate to Readarr</Link>
|
||||||
</DescriptionListItemDescription>
|
</DescriptionListItemDescription>
|
||||||
|
|
||||||
<DescriptionListItemTitle>Sonarr Donations</DescriptionListItemTitle>
|
<DescriptionListItemTitle>Sonarr Donations</DescriptionListItemTitle>
|
||||||
@@ -46,12 +46,12 @@ class MoreInfo extends Component {
|
|||||||
|
|
||||||
<DescriptionListItemTitle>Source</DescriptionListItemTitle>
|
<DescriptionListItemTitle>Source</DescriptionListItemTitle>
|
||||||
<DescriptionListItemDescription>
|
<DescriptionListItemDescription>
|
||||||
<Link to="https://github.com/lidarr/Lidarr/">github.com/Lidarr/Lidarr</Link>
|
<Link to="https://github.com/readarr/Readarr/">github.com/Readarr/Readarr</Link>
|
||||||
</DescriptionListItemDescription>
|
</DescriptionListItemDescription>
|
||||||
|
|
||||||
<DescriptionListItemTitle>Feature Requests</DescriptionListItemTitle>
|
<DescriptionListItemTitle>Feature Requests</DescriptionListItemTitle>
|
||||||
<DescriptionListItemDescription>
|
<DescriptionListItemDescription>
|
||||||
<Link to="https://github.com/lidarr/Lidarr/issues">github.com/Lidarr/Lidarr/issues</Link>
|
<Link to="https://github.com/readarr/Readarr/issues">github.com/Readarr/Readarr/issues</Link>
|
||||||
</DescriptionListItemDescription>
|
</DescriptionListItemDescription>
|
||||||
|
|
||||||
</DescriptionList>
|
</DescriptionList>
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ class Updates extends Component {
|
|||||||
size={30}
|
size={30}
|
||||||
/>
|
/>
|
||||||
<div className={styles.upToDateMessage}>
|
<div className={styles.upToDateMessage}>
|
||||||
The latest version of Lidarr is already installed
|
The latest version of Readarr is already installed
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import $ from 'jquery';
|
import $ from 'jquery';
|
||||||
|
|
||||||
const absUrlRegex = /^(https?:)?\/\//i;
|
const absUrlRegex = /^(https?:)?\/\//i;
|
||||||
const apiRoot = window.Lidarr.apiRoot;
|
const apiRoot = window.Readarr.apiRoot;
|
||||||
|
|
||||||
function isRelative(ajaxOptions) {
|
function isRelative(ajaxOptions) {
|
||||||
return !absUrlRegex.test(ajaxOptions.url);
|
return !absUrlRegex.test(ajaxOptions.url);
|
||||||
@@ -25,7 +25,7 @@ function addRootUrl(ajaxOptions) {
|
|||||||
|
|
||||||
function addApiKey(ajaxOptions) {
|
function addApiKey(ajaxOptions) {
|
||||||
ajaxOptions.headers = ajaxOptions.headers || {};
|
ajaxOptions.headers = ajaxOptions.headers || {};
|
||||||
ajaxOptions.headers['X-Api-Key'] = window.Lidarr.apiKey;
|
ajaxOptions.headers['X-Api-Key'] = window.Readarr.apiKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function createAjaxRequest(originalAjaxOptions) {
|
export default function createAjaxRequest(originalAjaxOptions) {
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
export default function getPathWithUrlBase(path) {
|
export default function getPathWithUrlBase(path) {
|
||||||
return `${window.Lidarr.urlBase}${path}`;
|
return `${window.Readarr.urlBase}${path}`;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -240,7 +240,7 @@ class CutoffUnmet extends Component {
|
|||||||
Are you sure you want to search for all {totalRecords} Cutoff Unmet albums?
|
Are you sure you want to search for all {totalRecords} Cutoff Unmet albums?
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
This cannot be cancelled once started without restarting Lidarr.
|
This cannot be cancelled once started without restarting Readarr.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -257,7 +257,7 @@ class Missing extends Component {
|
|||||||
Are you sure you want to search for all {totalRecords} missing albums?
|
Are you sure you want to search for all {totalRecords} missing albums?
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
This cannot be cancelled once started without restarting Lidarr.
|
This cannot be cancelled once started without restarting Readarr.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<!-- Windows Phone -->
|
<!-- Windows Phone -->
|
||||||
<meta name="msapplication-navbutton-color" content="#3a3f51" />
|
<meta name="msapplication-navbutton-color" content="#3a3f51" />
|
||||||
|
|
||||||
<meta name="description" content="Lidarr">
|
<meta name="description" content="Readarr">
|
||||||
|
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-icon"
|
rel="apple-touch-icon"
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
<link rel="stylesheet" type="text/css" href="/Content/Fonts/fonts.css">
|
<link rel="stylesheet" type="text/css" href="/Content/Fonts/fonts.css">
|
||||||
<!-- webpack bundles head -->
|
<!-- webpack bundles head -->
|
||||||
|
|
||||||
<title>Lidarr</title>
|
<title>Readarr</title>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
The super basic styling for .root will live here,
|
The super basic styling for .root will live here,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<!-- Windows Phone -->
|
<!-- Windows Phone -->
|
||||||
<meta name="msapplication-navbutton-color" content="#3a3f51" />
|
<meta name="msapplication-navbutton-color" content="#3a3f51" />
|
||||||
|
|
||||||
<meta name="description" content="Lidarr" />
|
<meta name="description" content="Readarr" />
|
||||||
|
|
||||||
<link
|
<link
|
||||||
rel="apple-touch-icon"
|
rel="apple-touch-icon"
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
<link rel="stylesheet" type="text/css" href="/Content/styles.css" />
|
<link rel="stylesheet" type="text/css" href="/Content/styles.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="/Content/Fonts/fonts.css" />
|
<link rel="stylesheet" type="text/css" href="/Content/Fonts/fonts.css" />
|
||||||
|
|
||||||
<title>Login - Lidarr</title>
|
<title>Login - Readarr</title>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
@@ -251,7 +251,7 @@
|
|||||||
</span>
|
</span>
|
||||||
|
|
||||||
<a
|
<a
|
||||||
href="https://github.com/lidarr/Lidarr/wiki/Forgot-my-Password"
|
href="https://github.com/readarr/Readarr/wiki/Forgot-my-Password"
|
||||||
class="forgot-password"
|
class="forgot-password"
|
||||||
>Forgot your password?</a
|
>Forgot your password?</a
|
||||||
>
|
>
|
||||||
@@ -269,7 +269,7 @@
|
|||||||
<span>©</span>
|
<span>©</span>
|
||||||
<span id="year"></span>
|
<span id="year"></span>
|
||||||
<span>-</span>
|
<span>-</span>
|
||||||
<span>Lidarr</span>
|
<span>Readarr</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
/* eslint no-undef: 0 */
|
/* eslint no-undef: 0 */
|
||||||
__webpack_public_path__ = `${window.Lidarr.urlBase}/`;
|
__webpack_public_path__ = `${window.Readarr.urlBase}/`;
|
||||||
|
|||||||
4
macOS/Lidarr → macOS/Readarr
Executable file → Normal file
4
macOS/Lidarr → macOS/Readarr
Executable file → Normal file
@@ -4,8 +4,8 @@
|
|||||||
DIR=$(cd "$(dirname "$0")"; pwd)
|
DIR=$(cd "$(dirname "$0")"; pwd)
|
||||||
|
|
||||||
#change these values to match your app
|
#change these values to match your app
|
||||||
EXE_PATH="$DIR/Lidarr.exe"
|
EXE_PATH="$DIR/Readarr.exe"
|
||||||
APPNAME="Lidarr"
|
APPNAME="Readarr"
|
||||||
|
|
||||||
#set up environment
|
#set up environment
|
||||||
if [[ -x '/opt/local/bin/mono' ]]; then
|
if [[ -x '/opt/local/bin/mono' ]]; then
|
||||||
@@ -11,15 +11,15 @@
|
|||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>English</string>
|
<string>English</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>Lidarr</string>
|
<string>Readarr</string>
|
||||||
<key>CFBundleIconFile</key>
|
<key>CFBundleIconFile</key>
|
||||||
<string>lidarr.icns</string>
|
<string>readarr.icns</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>com.osx.lidarr.audio</string>
|
<string>com.osx.readarr.audio</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundleName</key>
|
<key>CFBundleName</key>
|
||||||
<string>Lidarr</string>
|
<string>Readarr</string>
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "lidarr",
|
"name": "readarr",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"description": "Lidarr",
|
"description": "Readarr",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "gulp build",
|
"build": "gulp build",
|
||||||
"start": "gulp watch",
|
"start": "gulp watch",
|
||||||
@@ -14,9 +14,9 @@
|
|||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git://github.com/Lidarr/Lidarr.git"
|
"url": "git://github.com/Readarr/Readarr.git"
|
||||||
},
|
},
|
||||||
"author": "Team Lidarr",
|
"author": "Team Readarr",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"readmeFilename": "readme.md",
|
"readmeFilename": "readme.md",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
REM SET BUILD_NUMBER=1
|
REM SET BUILD_NUMBER=1
|
||||||
REM SET branch=develop
|
REM SET branch=develop
|
||||||
inno\ISCC.exe lidarr.iss
|
inno\ISCC.exe readarr.iss
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
; Script generated by the Inno Setup Script Wizard.
|
; Script generated by the Inno Setup Script Wizard.
|
||||||
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
||||||
|
|
||||||
#define AppName "Lidarr"
|
#define AppName "Readarr"
|
||||||
#define AppPublisher "Team Lidarr"
|
#define AppPublisher "Team Readarr"
|
||||||
#define AppURL "https://lidarr.audio/"
|
#define AppURL "https://readarr.audio/"
|
||||||
#define ForumsURL "https://forums.lidarr.audio/"
|
#define ForumsURL "https://forums.readarr.audio/"
|
||||||
#define AppExeName "Lidarr.exe"
|
#define AppExeName "Readarr.exe"
|
||||||
#define BaseVersion GetEnv('MAJORVERSION')
|
#define BaseVersion GetEnv('MAJORVERSION')
|
||||||
#define BuildNumber GetEnv('MINORVERSION')
|
#define BuildNumber GetEnv('MINORVERSION')
|
||||||
#define BuildVersion GetEnv('LIDARRVERSION')
|
#define BuildVersion GetEnv('READARRVERSION')
|
||||||
#define BranchName GetEnv('BUILD_SOURCEBRANCHNAME')
|
#define BranchName GetEnv('BUILD_SOURCEBRANCHNAME')
|
||||||
|
|
||||||
[Setup]
|
[Setup]
|
||||||
@@ -22,15 +22,15 @@ AppPublisher={#AppPublisher}
|
|||||||
AppPublisherURL={#AppURL}
|
AppPublisherURL={#AppURL}
|
||||||
AppSupportURL={#ForumsURL}
|
AppSupportURL={#ForumsURL}
|
||||||
AppUpdatesURL={#AppURL}
|
AppUpdatesURL={#AppURL}
|
||||||
DefaultDirName={commonappdata}\Lidarr\bin
|
DefaultDirName={commonappdata}\Readarr\bin
|
||||||
DisableDirPage=yes
|
DisableDirPage=yes
|
||||||
DefaultGroupName={#AppName}
|
DefaultGroupName={#AppName}
|
||||||
DisableProgramGroupPage=yes
|
DisableProgramGroupPage=yes
|
||||||
OutputBaseFilename=Lidarr.{#BranchName}.{#BuildVersion}.windows.{#Framework}
|
OutputBaseFilename=Readarr.{#BranchName}.{#BuildVersion}.windows.{#Framework}
|
||||||
SolidCompression=yes
|
SolidCompression=yes
|
||||||
AppCopyright=Creative Commons 3.0 License
|
AppCopyright=Creative Commons 3.0 License
|
||||||
AllowUNCPath=False
|
AllowUNCPath=False
|
||||||
UninstallDisplayIcon={app}\Lidarr.exe
|
UninstallDisplayIcon={app}\Readarr.exe
|
||||||
DisableReadyPage=True
|
DisableReadyPage=True
|
||||||
CompressionThreads=2
|
CompressionThreads=2
|
||||||
Compression=lzma2/normal
|
Compression=lzma2/normal
|
||||||
@@ -48,29 +48,29 @@ Name: "startupShortcut"; Description: "Create shortcut in Startup folder (Starts
|
|||||||
Name: "none"; Description: "Do not start automatically"; GroupDescription: "Start automatically"; Flags: exclusive unchecked
|
Name: "none"; Description: "Do not start automatically"; GroupDescription: "Start automatically"; Flags: exclusive unchecked
|
||||||
|
|
||||||
[Files]
|
[Files]
|
||||||
Source: "..\_artifacts\windows\{#Framework}\Lidarr\Lidarr.exe"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "..\_artifacts\windows\{#Framework}\Readarr\Readarr.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||||
Source: "..\_artifacts\windows\{#Framework}\Lidarr\*"; Excludes: "Lidarr.Update"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
Source: "..\_artifacts\windows\{#Framework}\Readarr\*"; Excludes: "Readarr.Update"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||||
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
|
||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
Name: "{group}\{#AppName}"; Filename: "{app}\{#AppExeName}"; Parameters: "/icon"
|
Name: "{group}\{#AppName}"; Filename: "{app}\{#AppExeName}"; Parameters: "/icon"
|
||||||
Name: "{commondesktop}\{#AppName}"; Filename: "{app}\{#AppExeName}"; Parameters: "/icon"
|
Name: "{commondesktop}\{#AppName}"; Filename: "{app}\{#AppExeName}"; Parameters: "/icon"
|
||||||
Name: "{userstartup}\{#AppName}"; Filename: "{app}\Lidarr.exe"; WorkingDir: "{app}"; Tasks: startupShortcut
|
Name: "{userstartup}\{#AppName}"; Filename: "{app}\Readarr.exe"; WorkingDir: "{app}"; Tasks: startupShortcut
|
||||||
|
|
||||||
[Run]
|
[Run]
|
||||||
Filename: "{app}\Lidarr.Console.exe"; StatusMsg: "Removing previous Windows Service"; Parameters: "/u"; Flags: runhidden waituntilterminated;
|
Filename: "{app}\Readarr.Console.exe"; StatusMsg: "Removing previous Windows Service"; Parameters: "/u"; Flags: runhidden waituntilterminated;
|
||||||
Filename: "{app}\Lidarr.Console.exe"; Description: "Enable Access from Other Devices"; StatusMsg: "Enabling Remote access"; Parameters: "/registerurl"; Flags: postinstall runascurrentuser runhidden waituntilterminated; Tasks: startupShortcut none;
|
Filename: "{app}\Readarr.Console.exe"; Description: "Enable Access from Other Devices"; StatusMsg: "Enabling Remote access"; Parameters: "/registerurl"; Flags: postinstall runascurrentuser runhidden waituntilterminated; Tasks: startupShortcut none;
|
||||||
Filename: "{app}\Lidarr.Console.exe"; StatusMsg: "Installing Windows Service"; Parameters: "/i"; Flags: runhidden waituntilterminated; Tasks: windowsService
|
Filename: "{app}\Readarr.Console.exe"; StatusMsg: "Installing Windows Service"; Parameters: "/i"; Flags: runhidden waituntilterminated; Tasks: windowsService
|
||||||
Filename: "{app}\Lidarr.exe"; Description: "Open Lidarr Web UI"; Flags: postinstall skipifsilent nowait; Tasks: windowsService;
|
Filename: "{app}\Readarr.exe"; Description: "Open Readarr Web UI"; Flags: postinstall skipifsilent nowait; Tasks: windowsService;
|
||||||
Filename: "{app}\Lidarr.exe"; Description: "Start Lidarr"; Flags: postinstall skipifsilent nowait; Tasks: startupShortcut none;
|
Filename: "{app}\Readarr.exe"; Description: "Start Readarr"; Flags: postinstall skipifsilent nowait; Tasks: startupShortcut none;
|
||||||
|
|
||||||
[UninstallRun]
|
[UninstallRun]
|
||||||
Filename: "{app}\lidarr.console.exe"; Parameters: "/u"; Flags: waituntilterminated skipifdoesntexist
|
Filename: "{app}\readarr.console.exe"; Parameters: "/u"; Flags: waituntilterminated skipifdoesntexist
|
||||||
|
|
||||||
[Code]
|
[Code]
|
||||||
function PrepareToInstall(var NeedsRestart: Boolean): String;
|
function PrepareToInstall(var NeedsRestart: Boolean): String;
|
||||||
var
|
var
|
||||||
ResultCode: Integer;
|
ResultCode: Integer;
|
||||||
begin
|
begin
|
||||||
Exec(ExpandConstant('{commonappdata}\Lidarr\bin\Lidarr.Console.exe'), '/u', '', 0, ewWaitUntilTerminated, ResultCode)
|
Exec(ExpandConstant('{commonappdata}\Readarr\bin\Readarr.Console.exe'), '/u', '', 0, ewWaitUntilTerminated, ResultCode)
|
||||||
end;
|
end;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<Project>
|
<Project>
|
||||||
<!-- Common to all Lidarr Projects -->
|
<!-- Common to all Readarr Projects -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<CodeAnalysisRuleSet>$(SolutionDir)Stylecop.ruleset</CodeAnalysisRuleSet>
|
<CodeAnalysisRuleSet>$(SolutionDir)Stylecop.ruleset</CodeAnalysisRuleSet>
|
||||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||||
@@ -9,35 +9,35 @@
|
|||||||
<RuntimeIdentifiers>win-x64;osx-x64;linux-x64;linux-arm;linux-arm64</RuntimeIdentifiers>
|
<RuntimeIdentifiers>win-x64;osx-x64;linux-x64;linux-arm;linux-arm64</RuntimeIdentifiers>
|
||||||
<ExcludedRuntimeFrameworkPairs>win-x64:net462;osx-x64:net462;linux-arm:net462;linux-arm64:net462</ExcludedRuntimeFrameworkPairs>
|
<ExcludedRuntimeFrameworkPairs>win-x64:net462;osx-x64:net462;linux-arm:net462;linux-arm64:net462</ExcludedRuntimeFrameworkPairs>
|
||||||
|
|
||||||
<LidarrRootDir>$(MSBuildThisFileDirectory)..\</LidarrRootDir>
|
<ReadarrRootDir>$(MSBuildThisFileDirectory)..\</ReadarrRootDir>
|
||||||
|
|
||||||
<!-- Specifies the type of output -->
|
<!-- Specifies the type of output -->
|
||||||
<LidarrOutputType>Library</LidarrOutputType>
|
<ReadarrOutputType>Library</ReadarrOutputType>
|
||||||
<LidarrOutputType Condition="$(MSBuildProjectName.Contains('.Test'))">Test</LidarrOutputType>
|
<ReadarrOutputType Condition="$(MSBuildProjectName.Contains('.Test'))">Test</ReadarrOutputType>
|
||||||
<LidarrOutputType Condition="'$(MSBuildProjectName)'=='ServiceInstall'">Exe</LidarrOutputType>
|
<ReadarrOutputType Condition="'$(MSBuildProjectName)'=='ServiceInstall'">Exe</ReadarrOutputType>
|
||||||
<LidarrOutputType Condition="'$(MSBuildProjectName)'=='ServiceUninstall'">Exe</LidarrOutputType>
|
<ReadarrOutputType Condition="'$(MSBuildProjectName)'=='ServiceUninstall'">Exe</ReadarrOutputType>
|
||||||
<LidarrOutputType Condition="'$(MSBuildProjectName)'=='Lidarr'">Exe</LidarrOutputType>
|
<ReadarrOutputType Condition="'$(MSBuildProjectName)'=='Readarr'">Exe</ReadarrOutputType>
|
||||||
<LidarrOutputType Condition="'$(MSBuildProjectName)'=='Lidarr.Console'">Exe</LidarrOutputType>
|
<ReadarrOutputType Condition="'$(MSBuildProjectName)'=='Readarr.Console'">Exe</ReadarrOutputType>
|
||||||
<LidarrOutputType Condition="'$(MSBuildProjectName)'=='Lidarr.Update'">Update</LidarrOutputType>
|
<ReadarrOutputType Condition="'$(MSBuildProjectName)'=='Readarr.Update'">Update</ReadarrOutputType>
|
||||||
|
|
||||||
<!-- Specifies whether it's one of our own libraries -->
|
<!-- Specifies whether it's one of our own libraries -->
|
||||||
<LidarrProject>false</LidarrProject>
|
<ReadarrProject>false</ReadarrProject>
|
||||||
<LidarrProject Condition="$(MSBuildProjectName.StartsWith('Lidarr'))">true</LidarrProject>
|
<ReadarrProject Condition="$(MSBuildProjectName.StartsWith('Readarr'))">true</ReadarrProject>
|
||||||
<LidarrProject Condition="$(MSBuildProjectName.StartsWith('ServiceInstall'))">true</LidarrProject>
|
<ReadarrProject Condition="$(MSBuildProjectName.StartsWith('ServiceInstall'))">true</ReadarrProject>
|
||||||
<LidarrProject Condition="$(MSBuildProjectName.StartsWith('ServiceUninstall'))">true</LidarrProject>
|
<ReadarrProject Condition="$(MSBuildProjectName.StartsWith('ServiceUninstall'))">true</ReadarrProject>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition="'$(Configuration)'==''">Release</Configuration>
|
<Configuration Condition="'$(Configuration)'==''">Release</Configuration>
|
||||||
<!-- Centralize intermediate and default outputs -->
|
<!-- Centralize intermediate and default outputs -->
|
||||||
<BaseIntermediateOutputPath>$(LidarrRootDir)_temp\obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
|
<BaseIntermediateOutputPath>$(ReadarrRootDir)_temp\obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
|
||||||
<IntermediateOutputPath>$(LidarrRootDir)_temp\obj\$(MSBuildProjectName)\$(Configuration)\</IntermediateOutputPath>
|
<IntermediateOutputPath>$(ReadarrRootDir)_temp\obj\$(MSBuildProjectName)\$(Configuration)\</IntermediateOutputPath>
|
||||||
<OutputPath>$(LidarrRootDir)_temp\bin\$(Configuration)\$(MSBuildProjectName)\</OutputPath>
|
<OutputPath>$(ReadarrRootDir)_temp\bin\$(Configuration)\$(MSBuildProjectName)\</OutputPath>
|
||||||
|
|
||||||
<!-- Output to _output and _tests respectively -->
|
<!-- Output to _output and _tests respectively -->
|
||||||
<OutputPath Condition="'$(LidarrProject)'=='true'">$(LidarrRootDir)_output\</OutputPath>
|
<OutputPath Condition="'$(ReadarrProject)'=='true'">$(ReadarrRootDir)_output\</OutputPath>
|
||||||
<OutputPath Condition="'$(LidarrOutputType)'=='Test'">$(LidarrRootDir)_tests\</OutputPath>
|
<OutputPath Condition="'$(ReadarrOutputType)'=='Test'">$(ReadarrRootDir)_tests\</OutputPath>
|
||||||
<OutputPath Condition="'$(LidarrOutputType)'=='Update'">$(LidarrRootDir)_output\Lidarr.Update\</OutputPath>
|
<OutputPath Condition="'$(ReadarrOutputType)'=='Update'">$(ReadarrRootDir)_output\Readarr.Update\</OutputPath>
|
||||||
|
|
||||||
<!-- Paths relative to project file for better readability -->
|
<!-- Paths relative to project file for better readability -->
|
||||||
<BaseIntermediateOutputPath>$([MSBuild]::MakeRelative('$(MSBuildProjectDirectory)', '$(BaseIntermediateOutputPath)'))</BaseIntermediateOutputPath>
|
<BaseIntermediateOutputPath>$([MSBuild]::MakeRelative('$(MSBuildProjectDirectory)', '$(BaseIntermediateOutputPath)'))</BaseIntermediateOutputPath>
|
||||||
@@ -48,17 +48,17 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Test projects need bindingRedirects -->
|
<!-- Test projects need bindingRedirects -->
|
||||||
<PropertyGroup Condition="'$(LidarrOutputType)'=='Test'">
|
<PropertyGroup Condition="'$(ReadarrOutputType)'=='Test'">
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
|
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
|
||||||
<SelfContained>false</SelfContained>
|
<SelfContained>false</SelfContained>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Set the Product and Version info for our own projects -->
|
<!-- Set the Product and Version info for our own projects -->
|
||||||
<PropertyGroup Condition="'$(LidarrProject)'=='true'">
|
<PropertyGroup Condition="'$(ReadarrProject)'=='true'">
|
||||||
<Product>Lidarr</Product>
|
<Product>Readarr</Product>
|
||||||
<Company>lidarr.audio</Company>
|
<Company>readarr.audio</Company>
|
||||||
<Copyright>Copyright 2017-$([System.DateTime]::Now.ToString('yyyy')) lidarr.audio (GNU General Public v3)</Copyright>
|
<Copyright>Copyright 2017-$([System.DateTime]::Now.ToString('yyyy')) readarr.audio (GNU General Public v3)</Copyright>
|
||||||
|
|
||||||
<!-- Should be replaced by CI -->
|
<!-- Should be replaced by CI -->
|
||||||
<AssemblyVersion>10.0.0.*</AssemblyVersion>
|
<AssemblyVersion>10.0.0.*</AssemblyVersion>
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Set the AssemblyConfiguration attribute for projects -->
|
<!-- Set the AssemblyConfiguration attribute for projects -->
|
||||||
<ItemGroup Condition="'$(LidarrProject)'=='true'">
|
<ItemGroup Condition="'$(ReadarrProject)'=='true'">
|
||||||
<AssemblyAttribute Include="System.Reflection.AssemblyConfigurationAttribute">
|
<AssemblyAttribute Include="System.Reflection.AssemblyConfigurationAttribute">
|
||||||
<_Parameter1>$(AssemblyConfiguration)</_Parameter1>
|
<_Parameter1>$(AssemblyConfiguration)</_Parameter1>
|
||||||
</AssemblyAttribute>
|
</AssemblyAttribute>
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- For now keep the NzbDrone namespace -->
|
<!-- For now keep the NzbDrone namespace -->
|
||||||
<RootNamespace Condition="'$(LidarrProject)'=='true'">$(MSBuildProjectName.Replace('Lidarr','NzbDrone'))</RootNamespace>
|
<RootNamespace Condition="'$(ReadarrProject)'=='true'">$(MSBuildProjectName.Replace('Readarr','NzbDrone'))</RootNamespace>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Allow building net framework using mono -->
|
<!-- Allow building net framework using mono -->
|
||||||
@@ -92,7 +92,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<!-- Set up stylecop -->
|
<!-- Set up stylecop -->
|
||||||
<ItemGroup Condition="'$(LidarrProject)'=='true'">
|
<ItemGroup Condition="'$(ReadarrProject)'=='true'">
|
||||||
<!-- StyleCop analysis -->
|
<!-- StyleCop analysis -->
|
||||||
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
|
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
using Lidarr.Http;
|
|
||||||
|
|
||||||
namespace Lidarr.Api.V1
|
|
||||||
{
|
|
||||||
public abstract class LidarrV1FeedModule : LidarrModule
|
|
||||||
{
|
|
||||||
protected LidarrV1FeedModule(string resource)
|
|
||||||
: base("/feed/v1/" + resource.Trim('/'))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
using Lidarr.Http;
|
|
||||||
|
|
||||||
namespace Lidarr.Api.V1
|
|
||||||
{
|
|
||||||
public abstract class LidarrV1Module : LidarrModule
|
|
||||||
{
|
|
||||||
protected LidarrV1Module(string resource)
|
|
||||||
: base("/api/v1/" + resource.Trim('/'))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
using FluentAssertions;
|
using FluentAssertions;
|
||||||
using Lidarr.Http.ClientSchema;
|
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using NzbDrone.Core.Annotations;
|
using NzbDrone.Core.Annotations;
|
||||||
using NzbDrone.Test.Common;
|
using NzbDrone.Test.Common;
|
||||||
|
using Readarr.Http.ClientSchema;
|
||||||
|
|
||||||
namespace NzbDrone.Api.Test.ClientSchemaTests
|
namespace NzbDrone.Api.Test.ClientSchemaTests
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -13,8 +13,8 @@
|
|||||||
<PackageReference Include="coverlet.collector" Version="1.1.0" PrivateAssets="all" />
|
<PackageReference Include="coverlet.collector" Version="1.1.0" PrivateAssets="all" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Core\Lidarr.Core.csproj" />
|
<ProjectReference Include="..\NzbDrone.Core\Readarr.Core.csproj" />
|
||||||
<ProjectReference Include="..\NzbDrone.Test.Common\Lidarr.Test.Common.csproj" />
|
<ProjectReference Include="..\NzbDrone.Test.Common\Readarr.Test.Common.csproj" />
|
||||||
<ProjectReference Include="..\Lidarr.Http\Lidarr.Http.csproj" />
|
<ProjectReference Include="..\Readarr.Http\Readarr.Http.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -42,12 +42,12 @@ namespace NzbDrone.Automation.Test
|
|||||||
_runner.KillAll();
|
_runner.KillAll();
|
||||||
_runner.Start();
|
_runner.Start();
|
||||||
|
|
||||||
driver.Url = "http://localhost:8686";
|
driver.Url = "http://localhost:8787";
|
||||||
|
|
||||||
var page = new PageBase(driver);
|
var page = new PageBase(driver);
|
||||||
page.WaitForNoSpinner();
|
page.WaitForNoSpinner();
|
||||||
|
|
||||||
driver.ExecuteScript("window.Lidarr.NameViews = true;");
|
driver.ExecuteScript("window.Readarr.NameViews = true;");
|
||||||
|
|
||||||
GetPageErrors().Should().BeEmpty();
|
GetPageErrors().Should().BeEmpty();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,6 @@
|
|||||||
<PackageReference Include="Selenium.Support" Version="3.141.0" />
|
<PackageReference Include="Selenium.Support" Version="3.141.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NzbDrone.Test.Common\Lidarr.Test.Common.csproj" />
|
<ProjectReference Include="..\NzbDrone.Test.Common\Readarr.Test.Common.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -49,7 +49,7 @@ namespace NzbDrone.Common.Test
|
|||||||
public void GetValue_Success()
|
public void GetValue_Success()
|
||||||
{
|
{
|
||||||
const string key = "Port";
|
const string key = "Port";
|
||||||
const string value = "8686";
|
const string value = "8787";
|
||||||
|
|
||||||
var result = Subject.GetValue(key, value);
|
var result = Subject.GetValue(key, value);
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ namespace NzbDrone.Common.Test
|
|||||||
public void GetInt_Success()
|
public void GetInt_Success()
|
||||||
{
|
{
|
||||||
const string key = "Port";
|
const string key = "Port";
|
||||||
const int value = 8686;
|
const int value = 8787;
|
||||||
|
|
||||||
var result = Subject.GetValueInt(key, value);
|
var result = Subject.GetValueInt(key, value);
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ namespace NzbDrone.Common.Test
|
|||||||
[Test]
|
[Test]
|
||||||
public void GetPort_Success()
|
public void GetPort_Success()
|
||||||
{
|
{
|
||||||
const int value = 8686;
|
const int value = 8787;
|
||||||
|
|
||||||
var result = Subject.Port;
|
var result = Subject.Port;
|
||||||
|
|
||||||
|
|||||||
@@ -169,14 +169,14 @@ namespace NzbDrone.Common.Test.Http
|
|||||||
}
|
}
|
||||||
|
|
||||||
var request = new HttpRequestBuilder($"https://{_httpBinHost}/redirect-to")
|
var request = new HttpRequestBuilder($"https://{_httpBinHost}/redirect-to")
|
||||||
.AddQueryParam("url", $"https://lidarr.audio/")
|
.AddQueryParam("url", $"https://readarr.audio/")
|
||||||
.Build();
|
.Build();
|
||||||
request.AllowAutoRedirect = true;
|
request.AllowAutoRedirect = true;
|
||||||
|
|
||||||
var response = Subject.Get(request);
|
var response = Subject.Get(request);
|
||||||
|
|
||||||
response.StatusCode.Should().Be(HttpStatusCode.OK);
|
response.StatusCode.Should().Be(HttpStatusCode.OK);
|
||||||
response.Content.Should().Contain("Lidarr");
|
response.Content.Should().Contain("Readarr");
|
||||||
|
|
||||||
ExceptionVerification.ExpectedErrors(0);
|
ExceptionVerification.ExpectedErrors(0);
|
||||||
}
|
}
|
||||||
@@ -203,7 +203,7 @@ namespace NzbDrone.Common.Test.Http
|
|||||||
|
|
||||||
var userAgent = response.Resource.Headers["User-Agent"].ToString();
|
var userAgent = response.Resource.Headers["User-Agent"].ToString();
|
||||||
|
|
||||||
userAgent.Should().Contain("Lidarr");
|
userAgent.Should().Contain("Readarr");
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase("Accept", "text/xml, text/rss+xml, application/rss+xml")]
|
[TestCase("Accept", "text/xml, text/rss+xml, application/rss+xml")]
|
||||||
@@ -222,7 +222,7 @@ namespace NzbDrone.Common.Test.Http
|
|||||||
{
|
{
|
||||||
var file = GetTempFilePath();
|
var file = GetTempFilePath();
|
||||||
|
|
||||||
Assert.Throws<WebException>(() => Subject.DownloadFile("https://download.lidarr.audio/wrongpath", file));
|
Assert.Throws<WebException>(() => Subject.DownloadFile("https://download.readarr.audio/wrongpath", file));
|
||||||
|
|
||||||
File.Exists(file).Should().BeFalse();
|
File.Exists(file).Should().BeFalse();
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user