mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 18:57:39 -07:00
moved some of the helper classes to their proper location.
This commit is contained in:
parent
ada326af59
commit
d41f26a4e7
11 changed files with 10 additions and 201 deletions
|
@ -1,50 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
|
||||
namespace NzbDrone.Core.Helpers.Converters
|
||||
{
|
||||
public class EpochDateTimeConverter : DateTimeConverterBase
|
||||
{
|
||||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||
{
|
||||
long ticks;
|
||||
if (value is DateTime)
|
||||
{
|
||||
var epoch = new DateTime(1970, 1, 1);
|
||||
var delta = ((DateTime)value) - epoch;
|
||||
if (delta.TotalSeconds < 0)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException("value",
|
||||
"Unix epoc starts January 1st, 1970");
|
||||
}
|
||||
ticks = (long)delta.TotalSeconds;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("Expected date object value.");
|
||||
}
|
||||
writer.WriteValue(ticks);
|
||||
}
|
||||
|
||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||
{
|
||||
if (reader.TokenType != JsonToken.Integer)
|
||||
{
|
||||
throw new Exception(
|
||||
String.Format("Unexpected token parsing date. Expected Integer, got {0}.",
|
||||
reader.TokenType));
|
||||
}
|
||||
|
||||
var ticks = (long)reader.Value;
|
||||
|
||||
var date = new DateTime(1970, 1, 1);
|
||||
date = date.AddSeconds(ticks);
|
||||
|
||||
return date;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using Newtonsoft.Json;
|
||||
using NzbDrone.Core.Download.Clients.Sabnzbd;
|
||||
|
||||
namespace NzbDrone.Core.Helpers
|
||||
{
|
||||
public class SabnzbdPriorityTypeConverter : JsonConverter
|
||||
{
|
||||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||
{
|
||||
var priorityType = (SabPriorityType)value;
|
||||
writer.WriteValue(priorityType.ToString());
|
||||
}
|
||||
|
||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||
{
|
||||
var queuePriority = reader.Value.ToString();
|
||||
|
||||
SabPriorityType output;
|
||||
Enum.TryParse(queuePriority, out output);
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
public override bool CanConvert(Type objectType)
|
||||
{
|
||||
return objectType == typeof(SabPriorityType);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace NzbDrone.Core.Helpers
|
||||
{
|
||||
public class SabnzbdQueueTimeConverter : JsonConverter
|
||||
{
|
||||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||
{
|
||||
var ts = (TimeSpan)value;
|
||||
writer.WriteValue(ts.ToString());
|
||||
}
|
||||
|
||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||
{
|
||||
var split = reader.Value.ToString().Split(':');
|
||||
|
||||
if (split.Count() != 3)
|
||||
{
|
||||
throw new ArgumentException("Expected 0:0:0 format, but received: " + reader.Value);
|
||||
}
|
||||
|
||||
return new TimeSpan(int.Parse(split[0]), // hours
|
||||
int.Parse(split[1]), // minutes
|
||||
int.Parse(split[2]) // seconds
|
||||
);
|
||||
}
|
||||
|
||||
public override bool CanConvert(Type objectType)
|
||||
{
|
||||
return objectType == typeof(TimeSpan);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace NzbDrone.Core.Helpers
|
||||
{
|
||||
|
|
|
@ -1,49 +0,0 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace NzbDrone.Core.Helpers
|
||||
{
|
||||
public static class XElementHelper
|
||||
{
|
||||
public static T ConvertTo<T>(this XElement element)
|
||||
{
|
||||
if (element == null)
|
||||
return default(T);
|
||||
|
||||
if (String.IsNullOrEmpty(element.Value))
|
||||
return default(T);
|
||||
|
||||
var converter = TypeDescriptor.GetConverter(typeof(T));
|
||||
try
|
||||
{
|
||||
return (T)converter.ConvertFromString(element.Value);
|
||||
}
|
||||
|
||||
catch
|
||||
{
|
||||
return default(T);
|
||||
}
|
||||
}
|
||||
|
||||
public static DayOfWeek? ConvertToDayOfWeek(this XElement element)
|
||||
{
|
||||
if (element == null)
|
||||
return null;
|
||||
|
||||
if (String.IsNullOrWhiteSpace(element.Value))
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
return (DayOfWeek)Enum.Parse(typeof(DayOfWeek), element.Value);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue