sync updates

This commit is contained in:
Luke Pulverenti
2015-01-16 23:29:53 -05:00
parent 5c84cadb5e
commit 0e02e0559d
33 changed files with 437 additions and 116 deletions

View File

@@ -1413,6 +1413,15 @@ namespace MediaBrowser.Model.ApiClient
/// <returns>Task&lt;Stream&gt;.</returns>
Task<Stream> GetSyncJobItemFile(string id, CancellationToken cancellationToken);
/// <summary>
/// Gets the synchronize job item additional file.
/// </summary>
/// <param name="id">The identifier.</param>
/// <param name="name">The name.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task&lt;Stream&gt;.</returns>
Task<Stream> GetSyncJobItemAdditionalFile(string id, string name, CancellationToken cancellationToken);
/// <summary>
/// Opens the web socket.
/// </summary>

View File

@@ -212,7 +212,8 @@ namespace MediaBrowser.Model.Dlna
IsForced = stream.IsForced,
Language = stream.Language,
Name = stream.Language ?? "Unknown",
Format = SubtitleFormat
Format = SubtitleFormat,
Index = stream.Index
});
}

View File

@@ -7,5 +7,6 @@ namespace MediaBrowser.Model.Dlna
public string Name { get; set; }
public bool IsForced { get; set; }
public string Format { get; set; }
public int Index { get; set; }
}
}

View File

@@ -385,6 +385,7 @@
<Compile Include="Sync\SyncJobRequest.cs" />
<Compile Include="Sync\SyncJobStatus.cs" />
<Compile Include="Sync\SyncOptions.cs" />
<Compile Include="Sync\SyncParameter.cs" />
<Compile Include="Sync\SyncQuality.cs" />
<Compile Include="Sync\SyncTarget.cs" />
<Compile Include="System\LogFile.cs" />

View File

@@ -23,6 +23,11 @@ namespace MediaBrowser.Model.Sync
/// Gets or sets the type of the image.
/// </summary>
/// <value>The type of the image.</value>
public ImageType ImageType { get; set; }
public ImageType? ImageType { get; set; }
/// <summary>
/// Gets or sets the index.
/// </summary>
/// <value>The index.</value>
public int Index { get; set; }
}
}

View File

@@ -13,12 +13,12 @@ namespace MediaBrowser.Model.Sync
/// Gets or sets the options.
/// </summary>
/// <value>The options.</value>
public List<SyncOptions> Options { get; set; }
public List<SyncJobOption> Options { get; set; }
public SyncDialogOptions()
{
Targets = new List<SyncTarget>();
Options = new List<SyncOptions>();
Options = new List<SyncJobOption>();
}
}
}

View File

@@ -5,13 +5,13 @@ namespace MediaBrowser.Model.Sync
{
public static class SyncHelper
{
public static List<SyncOptions> GetSyncOptions(List<BaseItemDto> items)
public static List<SyncJobOption> GetSyncOptions(List<BaseItemDto> items)
{
List<SyncOptions> options = new List<SyncOptions>();
List<SyncJobOption> options = new List<SyncJobOption>();
if (items.Count > 1)
{
options.Add(SyncOptions.Name);
options.Add(SyncJobOption.Name);
}
foreach (BaseItemDto item in items)
@@ -20,23 +20,23 @@ namespace MediaBrowser.Model.Sync
{
if (item.IsVideo)
{
options.Add(SyncOptions.Quality);
options.Add(SyncJobOption.Quality);
if (items.Count > 1)
{
options.Add(SyncOptions.UnwatchedOnly);
options.Add(SyncJobOption.UnwatchedOnly);
}
break;
}
if (item.IsFolder && !item.IsMusicGenre && !item.IsArtist && !item.IsType("musicalbum") && !item.IsGameGenre)
{
options.Add(SyncOptions.Quality);
options.Add(SyncOptions.UnwatchedOnly);
options.Add(SyncJobOption.Quality);
options.Add(SyncJobOption.UnwatchedOnly);
break;
}
if (item.IsGenre)
{
options.Add(SyncOptions.SyncNewContent);
options.Add(SyncOptions.ItemLimit);
options.Add(SyncJobOption.SyncNewContent);
options.Add(SyncJobOption.ItemLimit);
break;
}
}
@@ -48,8 +48,8 @@ namespace MediaBrowser.Model.Sync
{
if (item.IsFolder || item.IsGameGenre || item.IsMusicGenre || item.IsGenre || item.IsArtist || item.IsStudio || item.IsPerson)
{
options.Add(SyncOptions.SyncNewContent);
options.Add(SyncOptions.ItemLimit);
options.Add(SyncJobOption.SyncNewContent);
options.Add(SyncJobOption.ItemLimit);
break;
}
}
@@ -58,15 +58,15 @@ namespace MediaBrowser.Model.Sync
return options;
}
public static List<SyncOptions> GetSyncOptions(SyncCategory category)
public static List<SyncJobOption> GetSyncOptions(SyncCategory category)
{
List<SyncOptions> options = new List<SyncOptions>();
List<SyncJobOption> options = new List<SyncJobOption>();
options.Add(SyncOptions.Name);
options.Add(SyncOptions.Quality);
options.Add(SyncOptions.UnwatchedOnly);
options.Add(SyncOptions.SyncNewContent);
options.Add(SyncOptions.ItemLimit);
options.Add(SyncJobOption.Name);
options.Add(SyncJobOption.Quality);
options.Add(SyncJobOption.UnwatchedOnly);
options.Add(SyncJobOption.SyncNewContent);
options.Add(SyncJobOption.ItemLimit);
return options;
}

View File

@@ -1,4 +1,6 @@
using System;
using System.Collections.Generic;
using MediaBrowser.Model.Dto;
namespace MediaBrowser.Model.Sync
{
@@ -27,12 +29,18 @@ namespace MediaBrowser.Model.Sync
/// </summary>
/// <value>The name of the item.</value>
public string ItemName { get; set; }
/// <summary>
/// Gets or sets the media source identifier.
/// </summary>
/// <value>The media source identifier.</value>
public string MediaSourceId { get; set; }
/// <summary>
/// Gets or sets the media source.
/// </summary>
/// <value>The media source.</value>
public MediaSourceInfo MediaSource { get; set; }
/// <summary>
/// Gets or sets the target identifier.
@@ -74,9 +82,15 @@ namespace MediaBrowser.Model.Sync
/// <value>The primary image tag.</value>
public string PrimaryImageTag { get; set; }
/// <summary>
/// Gets or sets a value indicating whether [requires conversion].
/// Gets or sets the temporary path.
/// </summary>
/// <value><c>true</c> if [requires conversion]; otherwise, <c>false</c>.</value>
public bool RequiresConversion { get; set; }
/// <value>The temporary path.</value>
public string TemporaryPath { get; set; }
public List<ItemFileInfo> AdditionalFiles { get; set; }
public SyncJobItem()
{
AdditionalFiles = new List<ItemFileInfo>();
}
}
}

View File

@@ -1,12 +1,8 @@

namespace MediaBrowser.Model.Sync
{
public enum SyncOptions
public class SyncOptions
{
Name = 0,
Quality = 1,
UnwatchedOnly = 2,
SyncNewContent = 3,
ItemLimit = 4
public string TemporaryPath { get; set; }
}
}

View File

@@ -0,0 +1,12 @@

namespace MediaBrowser.Model.Sync
{
public enum SyncJobOption
{
Name = 0,
Quality = 1,
UnwatchedOnly = 2,
SyncNewContent = 3,
ItemLimit = 4
}
}

View File

@@ -1,4 +1,5 @@
using MediaBrowser.Model.Dto;
using System.Collections.Generic;
namespace MediaBrowser.Model.Sync
{
@@ -34,5 +35,15 @@ namespace MediaBrowser.Model.Sync
/// </summary>
/// <value>The user identifier.</value>
public string UserId { get; set; }
/// <summary>
/// Gets or sets the additional files.
/// </summary>
/// <value>The additional files.</value>
public List<ItemFileInfo> AdditionalFiles { get; set; }
public SyncedItem()
{
AdditionalFiles = new List<ItemFileInfo>();
}
}
}