Fix some LGTM errors
This commit is contained in:
parent
6910916cd8
commit
e3c9105270
@ -52,6 +52,7 @@ disable=all
|
||||
|
||||
enable=import-error,
|
||||
import-self,
|
||||
cyclic-import,
|
||||
reimported,
|
||||
misplaced-future,
|
||||
relative-import,
|
||||
|
@ -1,7 +1,8 @@
|
||||
from sqlalchemy.orm.exc import NoResultFound
|
||||
|
||||
from atst.database import db
|
||||
from atst.models import PermissionSet, Permissions
|
||||
from atst.models.permissions import Permissions
|
||||
from atst.models.permission_set import PermissionSet
|
||||
from .exceptions import NotFoundError
|
||||
|
||||
|
||||
|
@ -1,8 +1,4 @@
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
|
||||
Base = declarative_base()
|
||||
|
||||
|
||||
from .base import Base
|
||||
from .application import Application
|
||||
from .application_invitation import ApplicationInvitation
|
||||
from .application_role import ApplicationRole, Status as ApplicationRoleStatus
|
||||
|
@ -1,7 +1,7 @@
|
||||
from sqlalchemy import and_, Column, ForeignKey, String
|
||||
from sqlalchemy.orm import relationship, synonym
|
||||
|
||||
from atst.models import Base
|
||||
from atst.models.base import Base
|
||||
from atst.models.application_role import ApplicationRole
|
||||
from atst.models.environment import Environment
|
||||
from atst.models import mixins
|
||||
|
@ -2,11 +2,13 @@ from sqlalchemy import Column, ForeignKey
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import relationship, backref
|
||||
|
||||
from atst.models import Base
|
||||
from atst.models.mixins import TimestampsMixin, AuditableMixin, InvitesMixin
|
||||
from atst.models.base import Base
|
||||
import atst.models.mixins as mixins
|
||||
|
||||
|
||||
class ApplicationInvitation(Base, TimestampsMixin, AuditableMixin, InvitesMixin):
|
||||
class ApplicationInvitation(
|
||||
Base, mixins.TimestampsMixin, mixins.AuditableMixin, mixins.InvitesMixin
|
||||
):
|
||||
__tablename__ = "application_invitations"
|
||||
|
||||
application_role_id = Column(
|
||||
|
@ -5,10 +5,11 @@ from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.event import listen
|
||||
|
||||
from atst.utils import first_or_none
|
||||
from atst.models import Base, mixins
|
||||
from atst.models.base import Base
|
||||
import atst.models.mixins as mixins
|
||||
import atst.models.types as types
|
||||
from atst.models.environment_role import EnvironmentRole
|
||||
from atst.models.mixins.auditable import record_permission_sets_updates
|
||||
from .types import Id
|
||||
|
||||
|
||||
class Status(Enum):
|
||||
@ -36,7 +37,7 @@ class ApplicationRole(
|
||||
):
|
||||
__tablename__ = "application_roles"
|
||||
|
||||
id = Id()
|
||||
id = types.Id()
|
||||
application_id = Column(
|
||||
UUID(as_uuid=True), ForeignKey("applications.id"), index=True, nullable=False
|
||||
)
|
||||
|
@ -2,7 +2,9 @@ from sqlalchemy import Column, String
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm.exc import NoResultFound
|
||||
|
||||
from atst.models import Base, types, mixins
|
||||
from atst.models.base import Base
|
||||
import atst.models.mixins as mixins
|
||||
import atst.models.types as types
|
||||
from atst.database import db
|
||||
from atst.domain.exceptions import NotFoundError
|
||||
|
||||
|
@ -2,7 +2,8 @@ from sqlalchemy import String, Column, ForeignKey, inspect
|
||||
from sqlalchemy.dialects.postgresql import UUID, JSONB
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from atst.models import Base, types
|
||||
from atst.models.base import Base
|
||||
import atst.models.types as types
|
||||
from atst.models.mixins.timestamps import TimestampsMixin
|
||||
|
||||
|
||||
|
3
atst/models/base.py
Normal file
3
atst/models/base.py
Normal file
@ -0,0 +1,3 @@
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
|
||||
Base = declarative_base()
|
@ -2,7 +2,9 @@ from enum import Enum
|
||||
from sqlalchemy import Column, Date, Enum as SQLAEnum, ForeignKey, Numeric, String
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from atst.models import Base, mixins, types
|
||||
from atst.models.base import Base
|
||||
import atst.models.mixins as mixins
|
||||
import atst.models.types as types
|
||||
|
||||
|
||||
class JEDICLINType(Enum):
|
||||
|
@ -3,9 +3,9 @@ from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.dialects.postgresql import JSONB
|
||||
from enum import Enum
|
||||
|
||||
from atst.models import Base
|
||||
from atst.models.types import Id
|
||||
from atst.models import mixins
|
||||
from atst.models.base import Base
|
||||
import atst.models.mixins as mixins
|
||||
import atst.models.types as types
|
||||
|
||||
|
||||
class Environment(
|
||||
@ -13,7 +13,7 @@ class Environment(
|
||||
):
|
||||
__tablename__ = "environments"
|
||||
|
||||
id = Id()
|
||||
id = types.Id()
|
||||
name = Column(String, nullable=False)
|
||||
|
||||
application_id = Column(ForeignKey("applications.id"), nullable=False)
|
||||
|
@ -3,7 +3,9 @@ from sqlalchemy import Index, ForeignKey, Column, String, TIMESTAMP, Enum as SQL
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from atst.models import Base, types, mixins
|
||||
from atst.models.base import Base
|
||||
import atst.models.mixins as mixins
|
||||
import atst.models.types as types
|
||||
|
||||
|
||||
class CSPRole(Enum):
|
||||
|
@ -1,7 +1,7 @@
|
||||
from sqlalchemy import Column, ForeignKey
|
||||
|
||||
from atst.models import Base
|
||||
from atst.models import mixins
|
||||
from atst.models.base import Base
|
||||
import atst.models.mixins as mixins
|
||||
|
||||
|
||||
class EnvironmentJobFailure(Base, mixins.JobFailureMixin):
|
||||
|
@ -1,6 +1,8 @@
|
||||
from sqlalchemy import String, Column
|
||||
|
||||
from atst.models import Base, types, mixins
|
||||
from atst.models.base import Base
|
||||
import atst.models.types as types
|
||||
import atst.models.mixins as mixins
|
||||
|
||||
|
||||
class NotificationRecipient(Base, mixins.TimestampsMixin):
|
||||
|
@ -1,7 +1,9 @@
|
||||
from sqlalchemy import String, Column
|
||||
from sqlalchemy.dialects.postgresql import ARRAY
|
||||
|
||||
from atst.models import Base, types, mixins
|
||||
from atst.models.base import Base
|
||||
import atst.models.mixins as mixins
|
||||
import atst.models.types as types
|
||||
|
||||
|
||||
class PermissionSet(Base, mixins.TimestampsMixin):
|
||||
|
@ -1,9 +1,11 @@
|
||||
from sqlalchemy import and_, Column, String
|
||||
from sqlalchemy import Column, String
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.types import ARRAY
|
||||
from itertools import chain
|
||||
|
||||
from atst.models import Base, Application, mixins, types
|
||||
from atst.models.base import Base
|
||||
import atst.models.types as types
|
||||
import atst.models.mixins as mixins
|
||||
from atst.models.portfolio_role import PortfolioRole, Status as PortfolioRoleStatus
|
||||
from atst.domain.permission_sets import PermissionSets
|
||||
from atst.utils import first_or_none
|
||||
@ -31,7 +33,7 @@ class Portfolio(
|
||||
applications = relationship(
|
||||
"Application",
|
||||
back_populates="portfolio",
|
||||
primaryjoin=and_(Application.portfolio_id == id, Application.deleted == False),
|
||||
primaryjoin="and_(Application.portfolio_id == Portfolio.id, Application.deleted == False)",
|
||||
)
|
||||
roles = relationship("PortfolioRole")
|
||||
|
||||
|
@ -2,11 +2,13 @@ from sqlalchemy import Column, ForeignKey
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import relationship, backref
|
||||
|
||||
from atst.models import Base
|
||||
from atst.models.mixins import TimestampsMixin, AuditableMixin, InvitesMixin
|
||||
from atst.models.base import Base
|
||||
import atst.models.mixins as mixins
|
||||
|
||||
|
||||
class PortfolioInvitation(Base, TimestampsMixin, InvitesMixin, AuditableMixin):
|
||||
class PortfolioInvitation(
|
||||
Base, mixins.TimestampsMixin, mixins.InvitesMixin, mixins.AuditableMixin
|
||||
):
|
||||
__tablename__ = "portfolio_invitations"
|
||||
|
||||
portfolio_role_id = Column(
|
||||
|
@ -4,8 +4,9 @@ from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.event import listen
|
||||
|
||||
from atst.models import Base, mixins
|
||||
from .types import Id
|
||||
from atst.models.base import Base
|
||||
import atst.models.types as types
|
||||
import atst.models.mixins as mixins
|
||||
|
||||
from atst.utils import first_or_none
|
||||
from atst.models.mixins.auditable import record_permission_sets_updates
|
||||
@ -41,7 +42,7 @@ class PortfolioRole(
|
||||
):
|
||||
__tablename__ = "portfolio_roles"
|
||||
|
||||
id = Id()
|
||||
id = types.Id()
|
||||
portfolio_id = Column(
|
||||
UUID(as_uuid=True), ForeignKey("portfolios.id"), index=True, nullable=False
|
||||
)
|
||||
|
@ -5,7 +5,10 @@ from sqlalchemy import Column, DateTime, ForeignKey, String
|
||||
from sqlalchemy.ext.hybrid import hybrid_property
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
from atst.models import Attachment, Base, mixins, types
|
||||
from atst.models.base import Base
|
||||
import atst.models.types as types
|
||||
import atst.models.mixins as mixins
|
||||
from atst.models.attachment import Attachment
|
||||
from atst.utils.clock import Clock
|
||||
|
||||
|
||||
|
@ -1,9 +1,11 @@
|
||||
from sqlalchemy import and_, String, ForeignKey, Column, Date, Boolean, Table, TIMESTAMP
|
||||
from sqlalchemy import String, ForeignKey, Column, Date, Boolean, Table, TIMESTAMP
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.event import listen
|
||||
|
||||
from atst.models import Base, ApplicationRole, types, mixins
|
||||
from atst.models.base import Base
|
||||
import atst.models.types as types
|
||||
import atst.models.mixins as mixins
|
||||
from atst.models.portfolio_invitation import PortfolioInvitation
|
||||
from atst.models.application_invitation import ApplicationInvitation
|
||||
from atst.models.mixins.auditable import (
|
||||
@ -35,9 +37,7 @@ class User(
|
||||
application_roles = relationship(
|
||||
"ApplicationRole",
|
||||
backref="user",
|
||||
primaryjoin=and_(
|
||||
ApplicationRole.user_id == id, ApplicationRole.deleted == False
|
||||
),
|
||||
primaryjoin="and_(ApplicationRole.user_id == User.id, ApplicationRole.deleted == False)",
|
||||
)
|
||||
|
||||
portfolio_invitations = relationship(
|
||||
|
@ -1,18 +1,14 @@
|
||||
from flask import Blueprint, current_app as app, g, redirect, url_for
|
||||
|
||||
applications_bp = Blueprint("applications", __name__)
|
||||
from flask import current_app as app, g, redirect, url_for
|
||||
|
||||
from . import index
|
||||
from . import new
|
||||
from . import settings
|
||||
from . import invitations
|
||||
from .blueprint import applications_bp
|
||||
from atst.domain.environment_roles import EnvironmentRoles
|
||||
from atst.domain.exceptions import UnauthorizedError
|
||||
from atst.domain.authz.decorator import user_can_access_decorator as user_can
|
||||
from atst.models.permissions import Permissions
|
||||
from atst.utils.context_processors import portfolio as portfolio_context_processor
|
||||
|
||||
applications_bp.context_processor(portfolio_context_processor)
|
||||
|
||||
|
||||
def wrap_environment_role_lookup(user, environment_id=None, **kwargs):
|
||||
|
6
atst/routes/applications/blueprint.py
Normal file
6
atst/routes/applications/blueprint.py
Normal file
@ -0,0 +1,6 @@
|
||||
from flask import Blueprint
|
||||
|
||||
from atst.utils.context_processors import portfolio as portfolio_context_processor
|
||||
|
||||
applications_bp = Blueprint("applications", __name__)
|
||||
applications_bp.context_processor(portfolio_context_processor)
|
@ -1,6 +1,6 @@
|
||||
from flask import render_template
|
||||
|
||||
from . import applications_bp
|
||||
from .blueprint import applications_bp
|
||||
from atst.domain.authz.decorator import user_can_access_decorator as user_can
|
||||
from atst.models.permissions import Permissions
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
from flask import redirect, url_for, g
|
||||
|
||||
from . import applications_bp
|
||||
from .blueprint import applications_bp
|
||||
from atst.domain.invitations import ApplicationInvitations
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
from flask import redirect, render_template, request as http_request, url_for, g
|
||||
|
||||
from . import applications_bp
|
||||
from .blueprint import applications_bp
|
||||
from atst.domain.applications import Applications
|
||||
from atst.domain.portfolios import Portfolios
|
||||
from atst.forms.application import NameAndDescriptionForm, EnvironmentsForm
|
||||
|
@ -1,6 +1,6 @@
|
||||
from flask import redirect, render_template, request as http_request, url_for, g
|
||||
|
||||
from . import applications_bp
|
||||
from .blueprint import applications_bp
|
||||
from atst.domain.exceptions import AlreadyExistsError
|
||||
from atst.domain.environments import Environments
|
||||
from atst.domain.applications import Applications
|
||||
|
@ -1,12 +1,7 @@
|
||||
from flask import Blueprint, request as http_request, g, render_template
|
||||
from flask import request as http_request, g, render_template
|
||||
from operator import attrgetter
|
||||
|
||||
portfolios_bp = Blueprint("portfolios", __name__)
|
||||
|
||||
from . import index
|
||||
from . import invitations
|
||||
from . import admin
|
||||
from atst.utils.context_processors import portfolio as portfolio_context_processor
|
||||
|
||||
|
||||
portfolios_bp.context_processor(portfolio_context_processor)
|
||||
from .blueprint import portfolios_bp
|
||||
|
@ -1,6 +1,6 @@
|
||||
from flask import render_template, request as http_request, g, redirect, url_for
|
||||
|
||||
from . import portfolios_bp
|
||||
from .blueprint import portfolios_bp
|
||||
from atst.domain.portfolios import Portfolios
|
||||
from atst.domain.portfolio_roles import PortfolioRoles
|
||||
from atst.models.portfolio_role import Status as PortfolioRoleStatus
|
||||
|
5
atst/routes/portfolios/blueprint.py
Normal file
5
atst/routes/portfolios/blueprint.py
Normal file
@ -0,0 +1,5 @@
|
||||
from flask import Blueprint
|
||||
from atst.utils.context_processors import portfolio as portfolio_context_processor
|
||||
|
||||
portfolios_bp = Blueprint("portfolios", __name__)
|
||||
portfolios_bp.context_processor(portfolio_context_processor)
|
@ -2,7 +2,7 @@ from datetime import date, timedelta
|
||||
|
||||
from flask import redirect, render_template, url_for, request as http_request, g
|
||||
|
||||
from . import portfolios_bp
|
||||
from .blueprint import portfolios_bp
|
||||
from atst.forms.portfolio import PortfolioCreationForm
|
||||
from atst.domain.reports import Reports
|
||||
from atst.domain.portfolios import Portfolios
|
||||
|
@ -1,6 +1,6 @@
|
||||
from flask import g, redirect, url_for, render_template, request as http_request
|
||||
|
||||
from . import portfolios_bp
|
||||
from .blueprint import portfolios_bp
|
||||
from atst.domain.authz.decorator import user_can_access_decorator as user_can
|
||||
from atst.domain.exceptions import AlreadyExistsError
|
||||
from atst.domain.invitations import PortfolioInvitations
|
||||
|
@ -1,10 +1,4 @@
|
||||
from flask import Blueprint
|
||||
|
||||
task_orders_bp = Blueprint("task_orders", __name__)
|
||||
|
||||
from . import index
|
||||
from . import new
|
||||
from . import downloads
|
||||
from atst.utils.context_processors import portfolio as portfolio_context_processor
|
||||
|
||||
task_orders_bp.context_processor(portfolio_context_processor)
|
||||
from .blueprint import task_orders_bp
|
||||
|
5
atst/routes/task_orders/blueprint.py
Normal file
5
atst/routes/task_orders/blueprint.py
Normal file
@ -0,0 +1,5 @@
|
||||
from flask import Blueprint
|
||||
from atst.utils.context_processors import portfolio as portfolio_context_processor
|
||||
|
||||
task_orders_bp = Blueprint("task_orders", __name__)
|
||||
task_orders_bp.context_processor(portfolio_context_processor)
|
@ -1,6 +1,6 @@
|
||||
from flask import Response, current_app as app
|
||||
|
||||
from . import task_orders_bp
|
||||
from .blueprint import task_orders_bp
|
||||
from atst.domain.task_orders import TaskOrders
|
||||
from atst.domain.exceptions import NotFoundError
|
||||
from atst.domain.authz.decorator import user_can_access_decorator as user_can
|
||||
|
@ -1,6 +1,6 @@
|
||||
from flask import g, render_template, url_for, redirect
|
||||
|
||||
from . import task_orders_bp
|
||||
from .blueprint import task_orders_bp
|
||||
from atst.domain.authz.decorator import user_can_access_decorator as user_can
|
||||
from atst.domain.portfolios import Portfolios
|
||||
from atst.domain.task_orders import TaskOrders
|
||||
|
@ -8,7 +8,7 @@ from flask import (
|
||||
jsonify,
|
||||
)
|
||||
|
||||
from . import task_orders_bp
|
||||
from .blueprint import task_orders_bp
|
||||
from atst.domain.authz.decorator import user_can_access_decorator as user_can
|
||||
from atst.domain.exceptions import NoAccessError
|
||||
from atst.domain.task_orders import TaskOrders
|
||||
|
@ -2,7 +2,7 @@ from sqlalchemy import select
|
||||
|
||||
from atst.jobs import send_notification_mail
|
||||
from atst.database import db
|
||||
from atst.models import NotificationRecipient
|
||||
from atst.models.notification_recipient import NotificationRecipient
|
||||
|
||||
|
||||
class NotificationSender(object):
|
||||
|
Loading…
x
Reference in New Issue
Block a user