cleaning and linting

This commit is contained in:
collerek
2020-11-09 13:01:02 +01:00
parent ca38f7853e
commit 62d3388a97
3 changed files with 12 additions and 11 deletions

View File

@ -182,7 +182,7 @@ class ModelTableProxy:
@classmethod @classmethod
def merge_instances_list(cls, result_rows: Sequence["Model"]) -> Sequence["Model"]: def merge_instances_list(cls, result_rows: Sequence["Model"]) -> Sequence["Model"]:
merged_rows: List["Model"] = [] merged_rows: List["Model"] = []
grouped_instances = OrderedDict() grouped_instances: OrderedDict = OrderedDict()
for model in result_rows: for model in result_rows:
grouped_instances.setdefault(model.pk, []).append(model) grouped_instances.setdefault(model.pk, []).append(model)

View File

@ -1,4 +1,5 @@
from typing import Dict, List, NamedTuple, TYPE_CHECKING, Tuple, Type from collections import OrderedDict
from typing import List, NamedTuple, Optional, TYPE_CHECKING, Tuple, Type
import sqlalchemy import sqlalchemy
from sqlalchemy import text from sqlalchemy import text
@ -24,8 +25,8 @@ class SqlJoin:
select_from: sqlalchemy.sql.select, select_from: sqlalchemy.sql.select,
columns: List[sqlalchemy.Column], columns: List[sqlalchemy.Column],
fields: List, fields: List,
order_columns: List, order_columns: Optional[List],
sorted_orders: Dict, sorted_orders: OrderedDict,
) -> None: ) -> None:
self.used_aliases = used_aliases self.used_aliases = used_aliases
self.select_from = select_from self.select_from = select_from
@ -48,7 +49,7 @@ class SqlJoin:
def build_join( def build_join(
self, item: str, join_parameters: JoinParameters self, item: str, join_parameters: JoinParameters
) -> Tuple[List, sqlalchemy.sql.select, List, Dict]: ) -> Tuple[List, sqlalchemy.sql.select, List, OrderedDict]:
for part in item.split("__"): for part in item.split("__"):
if issubclass( if issubclass(
join_parameters.model_cls.Meta.model_fields[part], ManyToManyField join_parameters.model_cls.Meta.model_fields[part], ManyToManyField
@ -147,7 +148,7 @@ class SqlJoin:
condition[-2] == part or condition[-2][1:] == part condition[-2] == part or condition[-2][1:] == part
) )
def get_order_bys( def get_order_bys( # noqa: CCR001
self, alias: str, to_table: str, pkname_alias: str, part: str self, alias: str, to_table: str, pkname_alias: str, part: str
) -> None: ) -> None:
if self.order_columns: if self.order_columns:

View File

@ -39,19 +39,20 @@ class Query:
self.select_from: List[str] = [] self.select_from: List[str] = []
self.columns = [sqlalchemy.Column] self.columns = [sqlalchemy.Column]
self.order_columns = order_bys self.order_columns = order_bys
self.sorted_orders = OrderedDict() self.sorted_orders: OrderedDict = OrderedDict()
self._init_sorted_orders() self._init_sorted_orders()
def _init_sorted_orders(self) -> None: def _init_sorted_orders(self) -> None:
for clause in self.order_columns: if self.order_columns:
self.sorted_orders[clause] = None for clause in self.order_columns:
self.sorted_orders[clause] = None
@property @property
def prefixed_pk_name(self) -> str: def prefixed_pk_name(self) -> str:
pkname_alias = self.model_cls.get_column_alias(self.model_cls.Meta.pkname) pkname_alias = self.model_cls.get_column_alias(self.model_cls.Meta.pkname)
return f"{self.table.name}.{pkname_alias}" return f"{self.table.name}.{pkname_alias}"
def apply_order_bys_for_primary_model(self) -> None: def apply_order_bys_for_primary_model(self) -> None: # noqa: CCR001
if self.order_columns: if self.order_columns:
for clause in self.order_columns: for clause in self.order_columns:
if "__" not in clause: if "__" not in clause:
@ -123,6 +124,5 @@ class Query:
def _reset_query_parameters(self) -> None: def _reset_query_parameters(self) -> None:
self.select_from = [] self.select_from = []
self.columns = [] self.columns = []
self.order_bys = []
self.used_aliases = [] self.used_aliases = []
self.fields = [] self.fields = []