Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

1using NLog;
2using NzbDrone.Core.IndexerSearch.Definitions;
3using NzbDrone.Core.Parser.Model;
4
5namespace NzbDrone.Core.DecisionEngine.Specifications.Search
6{
7 public class SeriesSpecification : IDecisionEngineSpecification
8 {
9 private readonly Logger _logger;
10
11 public SeriesSpecification(Logger logger)
12 {
13 _logger = logger;
14 }
15
16 public SpecificationPriority Priority => SpecificationPriority.Default;
17 public RejectionType Type => RejectionType.Permanent;
18
19 public Decision IsSatisfiedBy(RemoteEpisode remoteEpisode, SearchCriteriaBase searchCriteria)
20 {
21 if (searchCriteria == null)
22 {
23 return Decision.Accept();
24 }
25
26 _logger.Debug("Checking if series matches searched series");
27
28 if (remoteEpisode.Series.Id != searchCriteria.Series.Id)
29 {
30 _logger.Debug("Series {0} does not match {1}", remoteEpisode.Series, searchCriteria.Series);
31 return Decision.Reject("Wrong series");
32 }
33
34 return Decision.Accept();
35 }
36 }
37}
38

After

1using NLog;
2using NzbDrone.Core.IndexerSearch.Definitions;
3using NzbDrone.Core.Parser.Model;
4
5namespace NzbDrone.Core.DecisionEngine.Specifications.Search
6{
7 public class SeriesSpecification : IDownloadDecisionEngineSpecification
8 {
9 private readonly Logger _logger;
10
11 public SeriesSpecification(Logger logger)
12 {
13 _logger = logger;
14 }
15
16 public SpecificationPriority Priority => SpecificationPriority.Default;
17 public RejectionType Type => RejectionType.Permanent;
18
19 public DownloadSpecDecision IsSatisfiedBy(RemoteEpisode remoteEpisode, SearchCriteriaBase searchCriteria)
20 {
21 if (searchCriteria == null)
22 {
23 return DownloadSpecDecision.Accept();
24 }
25
26 _logger.Debug("Checking if series matches searched series");
27
28 if (remoteEpisode.Series.Id != searchCriteria.Series.Id)
29 {
30 _logger.Debug("Series {0} does not match {1}", remoteEpisode.Series, searchCriteria.Series);
31 return DownloadSpecDecision.Reject(DownloadRejectionReason.WrongSeries, "Wrong series");
32 }
33
34 return DownloadSpecDecision.Accept();
35 }
36 }
37}
38

Before

compilation_unit
using_directive
using "using"
identifier "NLog"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "IndexerSearch"
. "."
identifier "Definitions"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Parser"
. "."
identifier "Model"
; ";"
namespace_declaration
namespace "namespace"
qualified_name
qualified_name
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "DecisionEngine"
. "."
identifier "Specifications"
. "."
identifier "Search"
declaration_list
{ "{"
class_declaration
modifier
public "public"
class "class"
identifier "SeriesSpecification"
base_list
: ":"
identifier "IDecisionEngineSpecification"
declaration_list
{ "{"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "Logger"
variable_declarator
identifier "_logger"
; ";"
constructor_declaration
modifier
public "public"
identifier "SeriesSpecification"
parameter_list
( "("
parameter
identifier "Logger"
identifier "logger"
) ")"
block
{ "{"
expression_statement
assignment_expression
identifier "_logger"
= "="
identifier "logger"
; ";"
} "}"
property_declaration
modifier
public "public"
identifier "SpecificationPriority"
identifier "Priority"
arrow_expression_clause
=> "=>"
member_access_expression
identifier "SpecificationPriority"
. "."
identifier "Default"
; ";"
property_declaration
modifier
public "public"
identifier "RejectionType"
identifier "Type"
arrow_expression_clause
=> "=>"
member_access_expression
identifier "RejectionType"
. "."
identifier "Permanent"
; ";"
method_declaration
modifier
public "public"
identifier "Decision"
identifier "IsSatisfiedBy"
parameter_list
( "("
parameter
identifier "RemoteEpisode"
identifier "remoteEpisode"
, ","
parameter
identifier "SearchCriteriaBase"
identifier "searchCriteria"
) ")"
block
{ "{"
if_statement
if "if"
( "("
binary_expression
identifier "searchCriteria"
== "=="
null_literal "null"
) ")"
block
{ "{"
return_statement
return "return"
invocation_expression
member_access_expression
identifier "Decision"
. "."
identifier "Accept"
argument_list
( "("
) ")"
; ";"
} "}"
expression_statement
invocation_expression
member_access_expression
identifier "_logger"
. "."
identifier "Debug"
argument_list
( "("
argument
string_literal
" "\""
string_literal_content "Checking if series matches searched series"
" "\""
) ")"
; ";"
if_statement
if "if"
( "("
binary_expression
member_access_expression
member_access_expression
identifier "remoteEpisode"
. "."
identifier "Series"
. "."
identifier "Id"
!= "!="
member_access_expression
member_access_expression
identifier "searchCriteria"
. "."
identifier "Series"
. "."
identifier "Id"
) ")"
block
{ "{"
expression_statement (+27 nodes collapsed)
return_statement
return "return"
invocation_expression
member_access_expression
identifier "Decision"
. "."
identifier "Reject"
argument_list
( "("
argument
string_literal
" "\""
string_literal_content "Wrong series"
" "\""
) ")"
; ";"
} "}"
return_statement
return "return"
invocation_expression
member_access_expression
identifier "Decision"
. "."
identifier "Accept"
argument_list
( "("
) ")"
; ";"
} "}"
} "}"
} "}"

After

compilation_unit
using_directive
using "using"
identifier "NLog"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "IndexerSearch"
. "."
identifier "Definitions"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "Parser"
. "."
identifier "Model"
; ";"
namespace_declaration
namespace "namespace"
qualified_name
qualified_name
qualified_name
qualified_name
identifier "NzbDrone"
. "."
identifier "Core"
. "."
identifier "DecisionEngine"
. "."
identifier "Specifications"
. "."
identifier "Search"
declaration_list
{ "{"
class_declaration
modifier
public "public"
class "class"
identifier "SeriesSpecification"
base_list
: ":"
identifier "IDownloadDecisionEngineSpecification"
declaration_list
{ "{"
field_declaration
modifier
private "private"
modifier
readonly "readonly"
variable_declaration
identifier "Logger"
variable_declarator
identifier "_logger"
; ";"
constructor_declaration
modifier
public "public"
identifier "SeriesSpecification"
parameter_list
( "("
parameter
identifier "Logger"
identifier "logger"
) ")"
block
{ "{"
expression_statement
assignment_expression
identifier "_logger"
= "="
identifier "logger"
; ";"
} "}"
property_declaration
modifier
public "public"
identifier "SpecificationPriority"
identifier "Priority"
arrow_expression_clause
=> "=>"
member_access_expression
identifier "SpecificationPriority"
. "."
identifier "Default"
; ";"
property_declaration
modifier
public "public"
identifier "RejectionType"
identifier "Type"
arrow_expression_clause
=> "=>"
member_access_expression
identifier "RejectionType"
. "."
identifier "Permanent"
; ";"
method_declaration
modifier
public "public"
identifier "DownloadSpecDecision"
identifier "IsSatisfiedBy"
parameter_list
( "("
parameter
identifier "RemoteEpisode"
identifier "remoteEpisode"
, ","
parameter
identifier "SearchCriteriaBase"
identifier "searchCriteria"
) ")"
block
{ "{"
if_statement
if "if"
( "("
binary_expression
identifier "searchCriteria"
== "=="
null_literal "null"
) ")"
block
{ "{"
return_statement
return "return"
invocation_expression
member_access_expression
identifier "DownloadSpecDecision"
. "."
identifier "Accept"
argument_list
( "("
) ")"
; ";"
} "}"
expression_statement
invocation_expression
member_access_expression
identifier "_logger"
. "."
identifier "Debug"
argument_list
( "("
argument
string_literal
" "\""
string_literal_content "Checking if series matches searched series"
" "\""
) ")"
; ";"
if_statement
if "if"
( "("
binary_expression
member_access_expression
member_access_expression
identifier "remoteEpisode"
. "."
identifier "Series"
. "."
identifier "Id"
!= "!="
member_access_expression
member_access_expression
identifier "searchCriteria"
. "."
identifier "Series"
. "."
identifier "Id"
) ")"
block
{ "{"
expression_statement (+27 nodes collapsed)
return_statement
return "return"
invocation_expression
member_access_expression
identifier "DownloadSpecDecision"
. "."
identifier "Reject"
argument_list
( "("
argument
member_access_expression
identifier "DownloadRejectionReason"
. "."
identifier "WrongSeries"
, ","
argument
string_literal
" "\""
string_literal_content "Wrong series"
" "\""
) ")"
; ";"
} "}"
return_statement
return "return"
invocation_expression
member_access_expression
identifier "DownloadSpecDecision"
. "."
identifier "Accept"
argument_list
( "("
) ")"
; ";"
} "}"
} "}"
} "}"