From e4449d2ec7e64679191053ee20873058dd4b92ec Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Thu, 5 Nov 2020 22:47:35 -0300 Subject: [PATCH] refactor level to get_xyz_... --- lbry/db/queries/resolve.py | 2 +- lbry/db/query_context.py | 10 ++++++---- lbry/schema/result.py | 15 +++++++-------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/lbry/db/queries/resolve.py b/lbry/db/queries/resolve.py index be576fc92..5859ee69d 100644 --- a/lbry/db/queries/resolve.py +++ b/lbry/db/queries/resolve.py @@ -18,7 +18,7 @@ log = logging.getLogger(__name__) def resolve_claims(**constraints): censor = context().get_resolve_censor() rows = context().fetchall(select_claims(**constraints)) - rows = censor.apply(rows, level=2) + rows = censor.apply(rows) return rows_to_txos(rows), censor diff --git a/lbry/db/query_context.py b/lbry/db/query_context.py index 1d0fe2151..bb3f3be52 100644 --- a/lbry/db/query_context.py +++ b/lbry/db/query_context.py @@ -85,11 +85,13 @@ class QueryContext: def raise_unsupported_dialect(self): raise RuntimeError(f'Unsupported database dialect: {self.engine.dialect.name}.') - def get_resolve_censor(self) -> Censor: - return Censor(self.blocked_streams, self.blocked_channels) + @classmethod + def get_resolve_censor(cls) -> Censor: + return Censor(level=2) - def get_search_censor(self) -> Censor: - return Censor(self.filtered_streams, self.filtered_channels) + @classmethod + def get_search_censor(cls) -> Censor: + return Censor(level=1) def pg_copy(self, table, rows): with self.engine.begin() as c: diff --git a/lbry/schema/result.py b/lbry/schema/result.py index 751128089..2e889dcd5 100644 --- a/lbry/schema/result.py +++ b/lbry/schema/result.py @@ -24,19 +24,18 @@ def set_reference(reference, claim_hash, rows): class Censor: - __slots__ = 'streams', 'channels', 'censored', 'total' + __slots__ = 'level', 'censored', 'total' - def __init__(self, streams: dict = None, channels: dict = None): - self.streams = streams or {} - self.channels = channels or {} + def __init__(self, level=1): + self.level = level self.censored = {} self.total = 0 - def apply(self, rows, level=1): - return [row for row in rows if not self.censor(row, level)] + def apply(self, rows): + return [row for row in rows if not self.censor(row)] - def censor(self, row, level=1) -> bool: - was_censored = row['censor_type'] >= level + def censor(self, row) -> bool: + was_censored = row['censor_type'] >= self.level if was_censored: censoring_channel_hash = row['censor_owner_hash'] self.censored.setdefault(censoring_channel_hash, 0)