mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-04 06:38:16 -06:00
Refactor Lookup subclasses to be more DRY
This commit is contained in:
parent
ad3df60fdd
commit
fcfbb1e67f
@ -154,44 +154,49 @@ class NetHostContained(Lookup):
|
|||||||
return 'CAST(HOST(%s) AS INET) <<= %s' % (lhs, rhs), params
|
return 'CAST(HOST(%s) AS INET) <<= %s' % (lhs, rhs), params
|
||||||
|
|
||||||
|
|
||||||
class NetHostGreaterThan(Lookup):
|
class NetHostComparison(Lookup):
|
||||||
|
|
||||||
|
@property
|
||||||
|
def comparison_sql(self):
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
def as_sql(self, qn, connection):
|
||||||
|
lhs, lhs_params = self.process_lhs(qn, connection)
|
||||||
|
rhs, rhs_params = self.process_rhs(qn, connection)
|
||||||
|
params = lhs_params + rhs_params
|
||||||
|
return self.comparison_sql % (lhs, rhs), params
|
||||||
|
|
||||||
|
|
||||||
|
class NetHostGreaterThan(NetHostComparison):
|
||||||
lookup_name = 'net_host_gt'
|
lookup_name = 'net_host_gt'
|
||||||
|
|
||||||
def as_sql(self, qn, connection):
|
@property
|
||||||
lhs, lhs_params = self.process_lhs(qn, connection)
|
def comparison_sql(self):
|
||||||
rhs, rhs_params = self.process_rhs(qn, connection)
|
return 'CAST(HOST(%s) AS INET) > INET %s'
|
||||||
params = lhs_params + rhs_params
|
|
||||||
return 'CAST(HOST(%s) AS INET) > INET %s' % (lhs, rhs), params
|
|
||||||
|
|
||||||
|
|
||||||
class NetHostLessThan(Lookup):
|
class NetHostLessThan(NetHostComparison):
|
||||||
lookup_name = 'net_host_lt'
|
lookup_name = 'net_host_lt'
|
||||||
|
|
||||||
def as_sql(self, qn, connection):
|
@property
|
||||||
lhs, lhs_params = self.process_lhs(qn, connection)
|
def comparison_sql(self):
|
||||||
rhs, rhs_params = self.process_rhs(qn, connection)
|
return 'CAST(HOST(%s) AS INET) < INET %s'
|
||||||
params = lhs_params + rhs_params
|
|
||||||
return 'CAST(HOST(%s) AS INET) < INET %s' % (lhs, rhs), params
|
|
||||||
|
|
||||||
|
|
||||||
class NetHostGreaterThanOrEqual(Lookup):
|
class NetHostGreaterThanOrEqual(NetHostComparison):
|
||||||
lookup_name = 'net_host_gte'
|
lookup_name = 'net_host_gte'
|
||||||
|
|
||||||
def as_sql(self, qn, connection):
|
@property
|
||||||
lhs, lhs_params = self.process_lhs(qn, connection)
|
def comparison_sql(self):
|
||||||
rhs, rhs_params = self.process_rhs(qn, connection)
|
return 'CAST(HOST(%s) AS INET) >= INET %s'
|
||||||
params = lhs_params + rhs_params
|
|
||||||
return 'CAST(HOST(%s) AS INET) >= INET %s' % (lhs, rhs), params
|
|
||||||
|
|
||||||
|
|
||||||
class NetHostLessThanOrEqual(Lookup):
|
class NetHostLessThanOrEqual(NetHostComparison):
|
||||||
lookup_name = 'net_host_lte'
|
lookup_name = 'net_host_lte'
|
||||||
|
|
||||||
def as_sql(self, qn, connection):
|
@property
|
||||||
lhs, lhs_params = self.process_lhs(qn, connection)
|
def comparison_sql(self):
|
||||||
rhs, rhs_params = self.process_rhs(qn, connection)
|
return 'CAST(HOST(%s) AS INET) <= INET %s'
|
||||||
params = lhs_params + rhs_params
|
|
||||||
return 'CAST(HOST(%s) AS INET) <= INET %s' % (lhs, rhs), params
|
|
||||||
|
|
||||||
|
|
||||||
class NetFamily(Transform):
|
class NetFamily(Transform):
|
||||||
|
Loading…
Reference in New Issue
Block a user