Skip to content

Commit

Permalink
ref: Move check for empty var def into typify_variables
Browse files Browse the repository at this point in the history
  • Loading branch information
NickCrews committed Sep 16, 2022
1 parent 366452e commit b865bed
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions dedupe/datamodel.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,6 @@ class DataModel(object):
version = 1

def __init__(self, variable_definitions: Iterable[VariableDefinition]):
variable_definitions = list(variable_definitions)
if not variable_definitions:
raise ValueError("The variable definitions cannot be empty")
variables = typify_variables(variable_definitions)
non_interactions: list[FieldVariable] = [
v for v in variables if not isinstance(v, InteractionType) # type: ignore[misc]
Expand Down Expand Up @@ -146,6 +143,10 @@ def __setstate__(self, d):


def typify_variables(variable_definitions: list[VariableDefinition]) -> list[Variable]:
variable_definitions = list(variable_definitions)
if not variable_definitions:
raise ValueError("The variable definitions cannot be empty")

variables: list[Variable] = []
for definition in variable_definitions:
try:
Expand Down Expand Up @@ -179,10 +180,8 @@ def typify_variables(variable_definitions: list[VariableDefinition]) -> list[Var
raise KeyError(
f"Variable type {variable_type} not valid. Valid types include {valid}"
)

variable_object = variable_class(definition)
assert isinstance(variable_object, Variable)

variables.append(variable_object)

only_custom = all(isinstance(v, (CustomType, InteractionType)) for v in variables)
Expand Down

0 comments on commit b865bed

Please sign in to comment.