Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/Readarr/commit/85cd877b0c10e8dbb3bc17842e5a4f9abacc42cf
You should set ROOT_URL correctly, otherwise the web may not work correctly.
12 changed files with
66 additions and
20 deletions
@ -135,6 +135,7 @@ namespace NzbDrone.Api.REST
private TResource ReadFromRequest ( )
{
//TODO: handle when request is null
var resource = Request . Body . FromJson < TResource > ( ) ;
var errors = SharedValidator . Validate ( resource ) . Errors . ToList ( ) ;
@ -23,19 +23,13 @@ namespace NzbDrone.Api.SignalR
protected override Task OnConnected ( IRequest request , string connectionId )
{
_logger . Debug ( "SignalR client connected. ID:{0}" , connectionId ) ;
_logger . Trace ( "SignalR client connected. ID:{0}" , connectionId ) ;
return base . OnConnected ( request , connectionId ) ;
}
public override Task ProcessRequest ( Microsoft . AspNet . SignalR . Hosting . HostContext context )
{
_logger . Debug ( "Request: {0}" , context ) ;
return base . ProcessRequest ( context ) ;
}
public void HandleAsync ( ModelEvent < T > message )
{
var context = ( ( ConnectionManager ) GlobalHost . ConnectionManager ) . GetConnection ( GetType ( ) ) ;
var context = ( ( ConnectionManager ) GlobalHost . ConnectionManager ) . GetConnection ( GetType ( ) ) ;
context . Connection . Broadcast ( message ) ;
}
}
@ -31,6 +31,12 @@ namespace NzbDrone.Common
return info . FullName . TrimEnd ( '/' ) . Trim ( '\\' , ' ' ) ;
}
public static bool ContainsInvalidPathChars ( this string text )
{
return text . IndexOfAny ( Path . GetInvalidPathChars ( ) ) > = 0 ;
}
private static string GetProperDirectoryCapitalization ( DirectoryInfo dirInfo )
{
var parentDirInfo = dirInfo . Parent ;
@ -88,10 +88,18 @@ namespace NzbDrone.Core.Test.Datastore
}
[Test]
public void should_read_and_write_in_utc ( )
{
var storedTime = DateTime . UtcNow ;
_sampleType . LastExecution = storedTime ;
Subject . Insert ( _sampleType ) ;
StoredModel . LastExecution . Kind . Should ( ) . Be ( DateTimeKind . Utc ) ;
StoredModel . LastExecution . ToLongTimeString ( ) . Should ( ) . Be ( storedTime . ToLongTimeString ( ) ) ;
}
[Test]
public void should_have_id_when_returned_from_database ( )
@ -0,0 +1,40 @@
using System ;
using System.Globalization ;
using Marr.Data.Converters ;
using Marr.Data.Mapping ;
namespace NzbDrone.Core.Datastore.Converters
{
public class UtcDateTimeConverter : IConverter
{
public Type DbType
{
get
{
return typeof ( DateTime ) ;
}
}
public object FromDB ( ColumnMap map , object dbValue )
{
if ( dbValue ! = null & & dbValue ! = DBNull . Value )
{
var dateTime = ( DateTime ) dbValue ;
dateTime = new DateTime ( dateTime . Ticks , DateTimeKind . Local ) ;
return dateTime . ToUniversalTime ( ) ;
}
return null ;
}
public object ToDB ( object clrValue )
{
if ( clrValue ! = null )
{
return ( ( DateTime ) clrValue ) . ToUniversalTime ( ) ;
}
return DBNull . Value ;
}
}
}
@ -78,6 +78,7 @@ namespace NzbDrone.Core.Datastore
MapRepository . Instance . RegisterTypeConverter ( typeof ( Boolean ) , new BooleanIntConverter ( ) ) ;
MapRepository . Instance . RegisterTypeConverter ( typeof ( Enum ) , new EnumIntConverter ( ) ) ;
MapRepository . Instance . RegisterTypeConverter ( typeof ( Quality ) , new QualityIntConverter ( ) ) ;
MapRepository . Instance . RegisterTypeConverter ( typeof ( DateTime ) , new UtcDateTimeConverter ( ) ) ;
}
private static void RegisterEmbeddedConverter ( )
@ -8,7 +8,6 @@ namespace NzbDrone.Core.Jobs
{
public interface IScheduledTaskRepository : IBasicRepository < ScheduledTask >
{
IList < ScheduledTask > GetPendingJobs ( ) ;
ScheduledTask GetDefinition ( Type type ) ;
void SetLastExecutionTime ( int id , DateTime executionTime ) ;
}
@ -27,12 +26,6 @@ namespace NzbDrone.Core.Jobs
return Query . Single ( c = > c . TypeName = = type . FullName ) ;
}
public IList < ScheduledTask > GetPendingJobs ( )
{
return Query . Where ( c = > c . Interval ! = 0 ) . ToList ( ) . Where ( c = > c . LastExecution < DateTime . Now . AddMinutes ( - c . Interval ) ) . ToList ( ) ;
}
public void SetLastExecutionTime ( int id , DateTime executionTime )
{
var task = new ScheduledTask
@ -35,6 +35,8 @@ namespace NzbDrone.Core.Jobs
{
var tasks = _taskManager . GetPending ( ) ;
_logger . Trace ( "Pending Tasks: {0}" , tasks . Count ) ;
foreach ( var task in tasks )
{
try
@ -46,7 +48,7 @@ namespace NzbDrone.Core.Jobs
}
catch ( Exception e )
{
_logger . ErrorException ( "Error occur ed while execution task " + task . TypeName , e ) ;
_logger . ErrorException ( "Error occur r ed while execution task " + task . TypeName , e ) ;
}
finally
{
@ -29,7 +29,7 @@ namespace NzbDrone.Core.Jobs
public IList < ScheduledTask > GetPending ( )
{
return _scheduledTaskRepository . GetPendingJobs ( ) ;
return _scheduledTaskRepository . All( ) . Where ( c = > c . LastExecution . AddMinutes ( c . Interval ) < DateTime . UtcNow ) . ToList ( ) ;
}
public void SetLastExecutionTime ( int taskId )
@ -192,6 +192,7 @@
<Compile Include= "Datastore\Converters\QualityIntConverter.cs" />
<Compile Include= "Datastore\Converters\Int32Converter.cs" />
<Compile Include= "Datastore\Converters\EmbeddedDocumentConverter.cs" />
<Compile Include= "Datastore\Converters\UtcDateTimeConverter.cs" />
<Compile Include= "Datastore\Database.cs" />
<Compile Include= "Datastore\DbFactory.cs" />
<Compile Include= "Datastore\Converters\EnumIntConverter.cs" />
@ -322,7 +322,7 @@ namespace NzbDrone.Core.Parser
}
//Based on extension
if ( result . Quality = = Quality . Unknown )
if ( result . Quality = = Quality . Unknown & & ! name . ContainsInvalidPathChars ( ) )
{
try
{
@ -25,7 +25,7 @@
layout="${date:format=yy-M-d HH\:mm\:ss.f}|${logger}}|${level}|${message}|${exception:format=ToString}"/>
</targets>
<rules>
<logger name="*" minlevel="Debug " writeTo="consoleLogger"/>
<logger name="*" minlevel="Trace " writeTo="consoleLogger"/>
<logger name="*" minlevel="Off" writeTo="udpTarget"/>
<logger name="*" minlevel="Warn" writeTo="rollingFileLogger"/>
</rules>