This is an automated email from the ASF dual-hosted git repository.

willbarrett pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 141ef4a  Updated `type: ignore` in model's helper: (#10906)
141ef4a is described below

commit 141ef4a188698efb595cd5f5da402c148d9207bf
Author: Kasia Kucharczyk <[email protected]>
AuthorDate: Thu Sep 17 22:49:14 2020 +0200

    Updated `type: ignore` in model's helper: (#10906)
    
    - added sql alchemy mapper as a type
---
 superset/models/helpers.py | 26 ++++++++++----------------
 1 file changed, 10 insertions(+), 16 deletions(-)

diff --git a/superset/models/helpers.py b/superset/models/helpers.py
index d903d27..105a727 100644
--- a/superset/models/helpers.py
+++ b/superset/models/helpers.py
@@ -34,7 +34,7 @@ from flask_appbuilder.models.mixins import AuditMixin
 from flask_appbuilder.security.sqla.models import User
 from sqlalchemy import and_, or_, UniqueConstraint
 from sqlalchemy.ext.declarative import declared_attr
-from sqlalchemy.orm import Session
+from sqlalchemy.orm import Mapper, Session
 from sqlalchemy.orm.exc import MultipleResultsFound
 
 from superset.utils.core import QueryStatus
@@ -66,10 +66,12 @@ class ImportMixin:
     # The names of the attributes
     # that are available for import and export
 
+    __mapper__: Mapper
+
     @classmethod
     def _parent_foreign_key_mappings(cls) -> Dict[str, str]:
         """Get a mapping of foreign name to the local name of foreign keys"""
-        parent_rel = cls.__mapper__.relationships.get(cls.export_parent)  # 
type: ignore
+        parent_rel = cls.__mapper__.relationships.get(cls.export_parent)
         if parent_rel:
             return {l.name: r.name for (l, r) in parent_rel.local_remote_pairs}
         return {}
@@ -94,9 +96,7 @@ class ImportMixin:
         """Export schema as a dictionary"""
         parent_excludes = set()
         if not include_parent_ref:
-            parent_ref = cls.__mapper__.relationships.get(  # type: ignore
-                cls.export_parent
-            )
+            parent_ref = cls.__mapper__.relationships.get(cls.export_parent)
             if parent_ref:
                 parent_excludes = {column.name for column in 
parent_ref.local_columns}
 
@@ -114,9 +114,7 @@ class ImportMixin:
         }
         if recursive:
             for column in cls.export_children:
-                child_class = cls.__mapper__.relationships[  # type: ignore
-                    column
-                ].argument.class_
+                child_class = 
cls.__mapper__.relationships[column].argument.class_
                 schema[column] = [
                     child_class.export_schema(
                         recursive=recursive, 
include_parent_ref=include_parent_ref
@@ -125,7 +123,8 @@ class ImportMixin:
         return schema
 
     @classmethod
-    def import_from_dict(  # pylint: 
disable=too-many-arguments,too-many-branches,too-many-locals
+    def import_from_dict(
+        # pylint: disable=too-many-arguments,too-many-branches,too-many-locals
         cls,
         session: Session,
         dict_rep: Dict[Any, Any],
@@ -207,9 +206,7 @@ class ImportMixin:
         # Recursively create children
         if recursive:
             for child in cls.export_children:
-                child_class = cls.__mapper__.relationships[  # type: ignore
-                    child
-                ].argument.class_
+                child_class = 
cls.__mapper__.relationships[child].argument.class_
                 added = []
                 for c_obj in new_children.get(child, []):
                     added.append(
@@ -246,9 +243,7 @@ class ImportMixin:
         cls = self.__class__
         parent_excludes = set()
         if recursive and not include_parent_ref:
-            parent_ref = cls.__mapper__.relationships.get(  # type: ignore
-                cls.export_parent
-            )
+            parent_ref = cls.__mapper__.relationships.get(cls.export_parent)
             if parent_ref:
                 parent_excludes = {c.name for c in parent_ref.local_columns}
         dict_rep = {
@@ -334,7 +329,6 @@ def _user_link(user: User) -> Union[Markup, str]:  # 
pylint: disable=no-self-use
 
 
 class AuditMixinNullable(AuditMixin):
-
     """Altering the AuditMixin to use nullable fields
 
     Allows creating objects programmatically outside of CRUD

Reply via email to