moved some of the helper classes to their proper location.

This commit is contained in:
kay.one 2013-04-07 10:58:58 -07:00
commit d41f26a4e7
11 changed files with 10 additions and 201 deletions

View file

@ -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;
}
}
}

View file

@ -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);
}
}
}

View file

@ -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);
}
}
}

View file

@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace NzbDrone.Core.Helpers
{

View file

@ -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;
}
}
}