mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-15 09:42:56 -07:00
Merge pull request #2267 from tidusjar/feature/sonarr-anime
Added a default set of root folders and qualities for Anime in Sonarr
This commit is contained in:
commit
63b8eb639f
5 changed files with 49 additions and 6 deletions
|
@ -118,17 +118,31 @@ namespace Ombi.Core.Senders
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
int.TryParse(s.QualityProfile, out var qualityToUse);
|
int qualityToUse;
|
||||||
|
string rootFolderPath;
|
||||||
|
|
||||||
|
if (model.SeriesType == SeriesType.Anime)
|
||||||
|
{
|
||||||
|
// Get the root path from the rootfolder selected.
|
||||||
|
// For some reason, if we haven't got one use the first root folder in Sonarr
|
||||||
|
// TODO make this overrideable via the UI
|
||||||
|
rootFolderPath = await GetSonarrRootPath(model.ParentRequest.RootFolder ?? int.Parse(s.RootPathAnime), s);
|
||||||
|
int.TryParse(s.QualityProfileAnime, out qualityToUse);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int.TryParse(s.QualityProfile, out qualityToUse);
|
||||||
|
}
|
||||||
|
|
||||||
if (model.ParentRequest.QualityOverride.HasValue)
|
if (model.ParentRequest.QualityOverride.HasValue)
|
||||||
{
|
{
|
||||||
|
// Get the root path from the rootfolder selected.
|
||||||
|
// For some reason, if we haven't got one use the first root folder in Sonarr
|
||||||
|
// TODO make this overrideable via the UI
|
||||||
|
rootFolderPath = await GetSonarrRootPath(model.ParentRequest.RootFolder ?? int.Parse(s.RootPath), s);
|
||||||
qualityToUse = model.ParentRequest.QualityOverride.Value;
|
qualityToUse = model.ParentRequest.QualityOverride.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the root path from the rootfolder selected.
|
|
||||||
// For some reason, if we haven't got one use the first root folder in Sonarr
|
|
||||||
// TODO make this overrideable via the UI
|
|
||||||
var rootFolderPath = await GetSonarrRootPath(model.ParentRequest.RootFolder ?? int.Parse(s.RootPath), s);
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Does the series actually exist?
|
// Does the series actually exist?
|
||||||
|
|
|
@ -13,6 +13,10 @@
|
||||||
/// The root path.
|
/// The root path.
|
||||||
/// </value>
|
/// </value>
|
||||||
public string RootPath { get; set; }
|
public string RootPath { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public string QualityProfileAnime { get; set; }
|
||||||
|
public string RootPathAnime { get; set; }
|
||||||
public bool AddOnly { get; set; }
|
public bool AddOnly { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -65,8 +65,10 @@ export interface ISonarrSettings extends IExternalSettings {
|
||||||
apiKey: string;
|
apiKey: string;
|
||||||
enabled: boolean;
|
enabled: boolean;
|
||||||
qualityProfile: string;
|
qualityProfile: string;
|
||||||
|
qualityProfileAnime: string;
|
||||||
seasonFolders: boolean;
|
seasonFolders: boolean;
|
||||||
rootPath: string;
|
rootPath: string;
|
||||||
|
rootPathAnime: string;
|
||||||
fullRootPath: string;
|
fullRootPath: string;
|
||||||
addOnly: boolean;
|
addOnly: boolean;
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,6 +68,14 @@
|
||||||
<small *ngIf="form.get('qualityProfile').hasError('required')" class="error-text">A Default Quality Profile is required</small>
|
<small *ngIf="form.get('qualityProfile').hasError('required')" class="error-text">A Default Quality Profile is required</small>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="select" class="control-label">Quality Profiles (Anime)</label>
|
||||||
|
<div id="qualityProfileAnime">
|
||||||
|
<select class="form-control form-control-custom" id="qualityProfileAnime" formControlName="qualityProfileAnime">
|
||||||
|
<option *ngFor="let quality of qualities" value="{{quality.id}}" >{{quality.name}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div>
|
<div>
|
||||||
|
@ -85,6 +93,15 @@
|
||||||
<small *ngIf="form.get('rootPath').hasError('required')" class="error-text">A Default Root Path is required</small>
|
<small *ngIf="form.get('rootPath').hasError('required')" class="error-text">A Default Root Path is required</small>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="rootFoldersAnime" class="control-label">Default Root Folders (Anime)</label>
|
||||||
|
<div id="rootFoldersAnime">
|
||||||
|
<select class="form-control form-control-custom" formControlName="rootPathAnime">
|
||||||
|
<option *ngFor="let folder of rootFoldersAnime" value="{{folder.id}}">{{folder.path}}</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
|
@ -15,7 +15,9 @@ import { SettingsService } from "../../services";
|
||||||
export class SonarrComponent implements OnInit {
|
export class SonarrComponent implements OnInit {
|
||||||
|
|
||||||
public qualities: ISonarrProfile[];
|
public qualities: ISonarrProfile[];
|
||||||
|
public qualitiesAnime: ISonarrProfile[];
|
||||||
public rootFolders: ISonarrRootFolder[];
|
public rootFolders: ISonarrRootFolder[];
|
||||||
|
public rootFoldersAnime: ISonarrRootFolder[];
|
||||||
public selectedRootFolder: ISonarrRootFolder;
|
public selectedRootFolder: ISonarrRootFolder;
|
||||||
public selectedQuality: ISonarrProfile;
|
public selectedQuality: ISonarrProfile;
|
||||||
public profilesRunning: boolean;
|
public profilesRunning: boolean;
|
||||||
|
@ -37,6 +39,8 @@ export class SonarrComponent implements OnInit {
|
||||||
apiKey: [x.apiKey, [Validators.required]],
|
apiKey: [x.apiKey, [Validators.required]],
|
||||||
qualityProfile: [x.qualityProfile, [Validators.required]],
|
qualityProfile: [x.qualityProfile, [Validators.required]],
|
||||||
rootPath: [x.rootPath, [Validators.required]],
|
rootPath: [x.rootPath, [Validators.required]],
|
||||||
|
qualityProfileAnime: [x.qualityProfileAnime],
|
||||||
|
rootPathAnime: [x.rootPathAnime],
|
||||||
ssl: [x.ssl],
|
ssl: [x.ssl],
|
||||||
subDir: [x.subDir],
|
subDir: [x.subDir],
|
||||||
ip: [x.ip, [Validators.required]],
|
ip: [x.ip, [Validators.required]],
|
||||||
|
@ -64,6 +68,7 @@ export class SonarrComponent implements OnInit {
|
||||||
.subscribe(x => {
|
.subscribe(x => {
|
||||||
this.qualities = x;
|
this.qualities = x;
|
||||||
this.qualities.unshift({ name: "Please Select", id: -1 });
|
this.qualities.unshift({ name: "Please Select", id: -1 });
|
||||||
|
this.qualitiesAnime = x;
|
||||||
|
|
||||||
this.profilesRunning = false;
|
this.profilesRunning = false;
|
||||||
this.notificationService.success("Successfully retrieved the Quality Profiles");
|
this.notificationService.success("Successfully retrieved the Quality Profiles");
|
||||||
|
@ -76,6 +81,7 @@ export class SonarrComponent implements OnInit {
|
||||||
.subscribe(x => {
|
.subscribe(x => {
|
||||||
this.rootFolders = x;
|
this.rootFolders = x;
|
||||||
this.rootFolders.unshift({ path: "Please Select", id: -1 });
|
this.rootFolders.unshift({ path: "Please Select", id: -1 });
|
||||||
|
this.rootFoldersAnime = x;
|
||||||
|
|
||||||
this.rootFoldersRunning = false;
|
this.rootFoldersRunning = false;
|
||||||
this.notificationService.success("Successfully retrieved the Root Folders");
|
this.notificationService.success("Successfully retrieved the Root Folders");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue