From dd8c24ff556ea0b6cfc04072eed75ed028134f03 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jan 16 2023 08:56:23 +0000 Subject: [PATCH 1/4] Run isort on the pagure code Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/__init__.py b/pagure/__init__.py index 94e4a1e..823f4ae 100644 --- a/pagure/__init__.py +++ b/pagure/__init__.py @@ -8,8 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import - +from __future__ import absolute_import, unicode_literals __api_version__ = "0.31" __version__ = "5.13.2" diff --git a/pagure/api/__init__.py b/pagure/api/__init__.py index f1580e7..f6e51b8 100644 --- a/pagure/api/__init__.py +++ b/pagure/api/__init__.py @@ -14,15 +14,15 @@ API namespace version 0. # pylint: disable=too-few-public-methods # pylint: disable=too-many-locals -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import codecs +import enum import functools import logging import os import docutils -import enum import flask import markupsafe from six.moves.urllib_parse import urljoin @@ -33,15 +33,14 @@ API = flask.Blueprint("api_ns", __name__, url_prefix="/api/0") import pagure.lib.query # noqa: E402 import pagure.lib.tasks # noqa: E402 from pagure.config import config as pagure_config # noqa: E402 -from pagure.doc_utils import ( # noqa: E402 +from pagure.doc_utils import ( # noqa: E402, I202 load_doc_title_and_name, - modify_rst, modify_html, -) # noqa: E402 + modify_rst, +) from pagure.exceptions import APIError # noqa: E402 from pagure.utils import authenticated, check_api_acls # noqa: E402 - _log = logging.getLogger(__name__) @@ -335,11 +334,12 @@ def get_per_page(): if pagure_config.get("ENABLE_TICKETS", True): from pagure.api import issue # noqa: E402 from pagure.api import boards # noqa: E402, F401 -from pagure.api import fork # noqa: E402 -from pagure.api import project # noqa: E402 -from pagure.api import user # noqa: E402 -from pagure.api import group # noqa: E402 -from pagure.api import plugins # noqa: E402 + +from pagure.api import fork # noqa: E402, I202 +from pagure.api import group # noqa: E402, I202 +from pagure.api import plugins # noqa: E402, I202 +from pagure.api import project # noqa: E402, I202 +from pagure.api import user # noqa: E402, I202 if pagure_config.get("PAGURE_CI_SERVICES", False): from pagure.api.ci import jenkins # noqa: E402, F401 diff --git a/pagure/api/boards.py b/pagure/api/boards.py index 6ef91d7..d78aee2 100644 --- a/pagure/api/boards.py +++ b/pagure/api/boards.py @@ -8,32 +8,27 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import logging import flask -from sqlalchemy.exc import SQLAlchemyError import werkzeug.datastructures +from sqlalchemy.exc import SQLAlchemyError import pagure import pagure.exceptions import pagure.lib.query import pagure.lib.tasks -from pagure.forms import TAGS_REGEX, TAGS_REGEX_RE from pagure.api import ( API, - api_method, - api_login_required, APIERROR, + api_login_required, + api_method, get_request_data, ) -from pagure.api.utils import ( - _get_repo, - _check_token, - _check_issue_tracker, -) - +from pagure.api.utils import _check_issue_tracker, _check_token, _get_repo +from pagure.forms import TAGS_REGEX, TAGS_REGEX_RE _log = logging.getLogger(__name__) diff --git a/pagure/api/ci/jenkins.py b/pagure/api/ci/jenkins.py index cbaf910..7c23dc6 100644 --- a/pagure/api/ci/jenkins.py +++ b/pagure/api/ci/jenkins.py @@ -8,23 +8,21 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import logging import flask - from cryptography.hazmat.primitives import constant_time from kitchen.text.converters import to_bytes import pagure import pagure.exceptions -import pagure.lib.query -import pagure.lib.plugins import pagure.lib.lib_ci as lib_ci +import pagure.lib.plugins +import pagure.lib.query from pagure.api import API, APIERROR, api_method - _log = logging.getLogger(__name__) diff --git a/pagure/api/fork.py b/pagure/api/fork.py index 5312c57..bcfaae2 100644 --- a/pagure/api/fork.py +++ b/pagure/api/fork.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import logging @@ -22,25 +22,24 @@ import pagure.lib.query import pagure.lib.tasks from pagure.api import ( API, - api_method, - api_login_required, APIERROR, + api_login_required, + api_method, get_authorized_api_project, - get_request_data, get_page, get_per_page, + get_request_data, ) -from pagure.config import config as pagure_config -from pagure.utils import is_repo_committer, is_true from pagure.api.utils import ( - _get_repo, - _check_token, - _get_request, + _check_private_pull_request_access, _check_pull_request, _check_pull_request_access, - _check_private_pull_request_access, + _check_token, + _get_repo, + _get_request, ) - +from pagure.config import config as pagure_config +from pagure.utils import is_repo_committer, is_true _log = logging.getLogger(__name__) diff --git a/pagure/api/group.py b/pagure/api/group.py index 9a8c3c5..664e37b 100644 --- a/pagure/api/group.py +++ b/pagure/api/group.py @@ -9,7 +9,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import flask @@ -19,8 +19,8 @@ import pagure.lib.query from pagure.api import ( API, APIERROR, - api_method, api_login_optional, + api_method, get_page, get_per_page, ) diff --git a/pagure/api/issue.py b/pagure/api/issue.py index 7286148..23f50d8 100644 --- a/pagure/api/issue.py +++ b/pagure/api/issue.py @@ -8,41 +8,41 @@ """ -from __future__ import print_function, unicode_literals, absolute_import +from __future__ import absolute_import, print_function, unicode_literals -import flask import datetime import logging import arrow +import flask from sqlalchemy.exc import SQLAlchemyError import pagure.exceptions import pagure.lib.query from pagure.api import ( API, - api_method, - api_login_required, - api_login_optional, APIERROR, - get_request_data, + api_login_optional, + api_login_required, + api_method, get_page, get_per_page, + get_request_data, +) +from pagure.api.utils import ( + _check_issue_tracker, + _check_private_issue_access, + _check_ticket_access, + _check_token, + _get_issue, + _get_repo, ) from pagure.config import config as pagure_config from pagure.utils import ( api_authenticated, is_repo_committer, - urlpattern, is_true, -) -from pagure.api.utils import ( - _get_repo, - _check_token, - _get_issue, - _check_issue_tracker, - _check_ticket_access, - _check_private_issue_access, + urlpattern, ) _log = logging.getLogger(__name__) diff --git a/pagure/api/plugins.py b/pagure/api/plugins.py index a5fa1c5..baa588a 100644 --- a/pagure/api/plugins.py +++ b/pagure/api/plugins.py @@ -8,25 +8,24 @@ """ -from __future__ import print_function, unicode_literals, absolute_import +from __future__ import absolute_import, print_function, unicode_literals -import flask import logging +import flask from sqlalchemy.exc import SQLAlchemyError import pagure.exceptions -import pagure.lib.query - import pagure.lib.plugins as plugins_lib +import pagure.lib.query from pagure.api import ( API, - api_method, - api_login_required, - api_login_optional, APIERROR, + api_login_optional, + api_login_required, + api_method, ) -from pagure.api.utils import _get_repo, _check_token, _check_plugin +from pagure.api.utils import _check_plugin, _check_token, _get_repo _log = logging.getLogger(__name__) diff --git a/pagure/api/project.py b/pagure/api/project.py index 1afdadd..1ac8c68 100644 --- a/pagure/api/project.py +++ b/pagure/api/project.py @@ -8,15 +8,14 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals -import flask import logging +import flask import pygit2 - -from sqlalchemy.exc import SQLAlchemyError from six import string_types +from sqlalchemy.exc import SQLAlchemyError try: from pygit2 import AlreadyExistsError @@ -25,26 +24,25 @@ except ImportError: AlreadyExistsError = ValueError import pagure -import pagure.forms import pagure.exceptions +import pagure.forms import pagure.lib.git import pagure.lib.query import pagure.utils from pagure.api import ( API, - api_method, APIERROR, + api_login_optional, api_login_required, + api_method, get_authorized_api_project, - api_login_optional, - get_request_data, get_page, get_per_page, + get_request_data, ) -from pagure.api.utils import _get_repo, _check_token, _get_project_tag +from pagure.api.utils import _check_token, _get_project_tag, _get_repo from pagure.config import config as pagure_config - _log = logging.getLogger(__name__) diff --git a/pagure/api/user.py b/pagure/api/user.py index 4e31ecc..bf7c45e 100644 --- a/pagure/api/user.py +++ b/pagure/api/user.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import collections import datetime @@ -20,7 +20,7 @@ import six import pagure import pagure.exceptions import pagure.lib.query -from pagure.api import API, api_method, APIERROR, get_page, get_per_page +from pagure.api import API, APIERROR, api_method, get_page, get_per_page from pagure.utils import is_true, validate_date, validate_date_range diff --git a/pagure/api/utils.py b/pagure/api/utils.py index 49178c4..2df505a 100644 --- a/pagure/api/utils.py +++ b/pagure/api/utils.py @@ -8,22 +8,18 @@ """ -from __future__ import print_function, unicode_literals, absolute_import +from __future__ import absolute_import, print_function, unicode_literals -import flask import logging +import flask import pagure.exceptions - -from pagure.lib import plugins - -from pagure.config import config as pagure_config from pagure.api import APIERROR, get_authorized_api_project - +from pagure.config import config as pagure_config +from pagure.lib import plugins from pagure.utils import api_authenticated, is_repo_committer, is_repo_user - _log = logging.getLogger(__name__) diff --git a/pagure/cli/admin.py b/pagure/cli/admin.py index 63cf7a5..94000fd 100644 --- a/pagure/cli/admin.py +++ b/pagure/cli/admin.py @@ -8,18 +8,18 @@ """ -from __future__ import print_function, unicode_literals, absolute_import +from __future__ import absolute_import, print_function, unicode_literals import argparse import datetime import logging import os -import requests -from string import Template import sys -import pygit2 +from string import Template import arrow +import pygit2 +import requests from six.moves import input if "PAGURE_CONFIG" not in os.environ and os.path.exists( @@ -38,7 +38,6 @@ import pagure.lib.tasks_utils # noqa: E402 from pagure.flask_app import generate_user_key_files # noqa: E402 from pagure.utils import get_repo_path # noqa: E402 - _config = pagure.config.reload_config() session = pagure.lib.model_base.create_session(_config["DB_URL"]) _log = logging.getLogger(__name__) diff --git a/pagure/config.py b/pagure/config.py index 28cb247..79714e9 100644 --- a/pagure/config.py +++ b/pagure/config.py @@ -8,9 +8,10 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import os # noqa: E402 + import flask # noqa: E402 diff --git a/pagure/decorators.py b/pagure/decorators.py index 5fc3f10..7d5583c 100644 --- a/pagure/decorators.py +++ b/pagure/decorators.py @@ -9,11 +9,13 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals + +from functools import wraps import flask + from pagure.flask_app import admin_session_timedout -from functools import wraps def has_issue_tracker(function): diff --git a/pagure/default_config.py b/pagure/default_config.py index 4aa1051..d8a7ee0 100644 --- a/pagure/default_config.py +++ b/pagure/default_config.py @@ -8,13 +8,12 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import os from datetime import timedelta -from pagure.mail_logging import ContextInjector, MSG_FORMAT - +from pagure.mail_logging import MSG_FORMAT, ContextInjector # noqa: I101 # Set the time after which the admin session expires ADMIN_SESSION_LIFETIME = timedelta(minutes=20) diff --git a/pagure/doc_utils.py b/pagure/doc_utils.py index d8a2771..5222267 100644 --- a/pagure/doc_utils.py +++ b/pagure/doc_utils.py @@ -10,7 +10,9 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals + +import textwrap import docutils import docutils.core @@ -18,11 +20,10 @@ import docutils.examples import jinja2 import kitchen.text.converters as ktc import markupsafe -import textwrap -from pagure.config import config as pagure_config -import pagure.lib.query import pagure.lib.encoding_utils +import pagure.lib.query +from pagure.config import config as pagure_config def modify_rst(rst, view_file_url=None): diff --git a/pagure/docs_server.py b/pagure/docs_server.py index c2d3ce9..21faf4e 100644 --- a/pagure/docs_server.py +++ b/pagure/docs_server.py @@ -8,24 +8,23 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import logging import os import flask import pygit2 - from binaryornot.helpers import is_binary_string from whitenoise import WhiteNoise import pagure.config import pagure.doc_utils import pagure.exceptions +import pagure.forms import pagure.lib.mimetype import pagure.lib.model_base import pagure.lib.query -import pagure.forms # Create the application. APP = flask.Flask(__name__) diff --git a/pagure/exceptions.py b/pagure/exceptions.py index 478ff09..47e5620 100644 --- a/pagure/exceptions.py +++ b/pagure/exceptions.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals class PagureException(Exception): diff --git a/pagure/flask_app.py b/pagure/flask_app.py index f9f8135..ecbe0f8 100644 --- a/pagure/flask_app.py +++ b/pagure/flask_app.py @@ -8,20 +8,19 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import datetime import gc import logging +import os import string import time -import os import warnings -from six.moves.urllib.parse import urljoin import flask import pygit2 - +from six.moves.urllib.parse import urljoin from whitenoise import WhiteNoise import pagure.doc_utils @@ -100,7 +99,7 @@ def create_app(config=None): FAS.init_app(app) elif auth == "oidc": # Only import and set flask_fas_openid if it is needed - from pagure.ui.oidc_login import oidc, fas_user_from_oidc + from pagure.ui.oidc_login import fas_user_from_oidc, oidc oidc.init_app(app) app.before_request(fas_user_from_oidc) @@ -453,7 +452,7 @@ def auth_login(): # pragma: no cover auth = pagure_config.get("PAGURE_AUTH", None) if not authenticated and auth == "oidc": - from pagure.ui.oidc_login import oidc, fas_user_from_oidc, set_user + from pagure.ui.oidc_login import fas_user_from_oidc, oidc, set_user # If oidc is used and user hits this endpoint, it will redirect # to IdP with destination=/login?next= diff --git a/pagure/forms.py b/pagure/forms.py index 5336ecf..ec21983 100644 --- a/pagure/forms.py +++ b/pagure/forms.py @@ -12,7 +12,7 @@ # pylint: disable=no-init # pylint: disable=super-on-old-class -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import datetime import re @@ -31,7 +31,7 @@ import wtforms import pagure.lib.query import pagure.validators from pagure.config import config as pagure_config -from pagure.utils import urlpattern, is_admin +from pagure.utils import is_admin, urlpattern STRICT_REGEX = "^[a-zA-Z0-9-_]+$" # This regex is used when creating tags, there we do not want to allow ',' diff --git a/pagure/hooks/__init__.py b/pagure/hooks/__init__.py index 131fe6f..d49fcda 100644 --- a/pagure/hooks/__init__.py +++ b/pagure/hooks/__init__.py @@ -8,20 +8,20 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals +import os import subprocess import sys import traceback -import os import six import wtforms +import pagure.lib.git +import pagure.lib.query from pagure.config import config as pagure_config from pagure.exceptions import FileNotFoundException -import pagure.lib.query -import pagure.lib.git from pagure.lib.git_auth import get_git_auth_helper from pagure.lib.plugins import get_enabled_plugins diff --git a/pagure/hooks/default.py b/pagure/hooks/default.py index 4555aba..0a0a3d7 100644 --- a/pagure/hooks/default.py +++ b/pagure/hooks/default.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, print_function, absolute_import +from __future__ import absolute_import, print_function, unicode_literals import logging @@ -23,7 +23,6 @@ import pagure.lib.tasks_services import pagure.utils from pagure.hooks import BaseHook, BaseRunner - _config = pagure.config.reload_config() _log = logging.getLogger(__name__) diff --git a/pagure/hooks/fedmsg_hook.py b/pagure/hooks/fedmsg_hook.py index b33ec1c..8454804 100644 --- a/pagure/hooks/fedmsg_hook.py +++ b/pagure/hooks/fedmsg_hook.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import sqlalchemy as sa import wtforms @@ -17,8 +17,8 @@ try: from flask_wtf import FlaskForm except ImportError: from flask_wtf import Form as FlaskForm -from sqlalchemy.orm import relation -from sqlalchemy.orm import backref + +from sqlalchemy.orm import backref, relation from pagure.hooks import BaseHook, BaseRunner from pagure.lib.model import BASE, Project diff --git a/pagure/hooks/irc.py b/pagure/hooks/irc.py index fc7330d..87155ac 100644 --- a/pagure/hooks/irc.py +++ b/pagure/hooks/irc.py @@ -8,18 +8,18 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals -import sqlalchemy as sa import pygit2 +import sqlalchemy as sa import wtforms try: from flask_wtf import FlaskForm except ImportError: from flask_wtf import Form as FlaskForm -from sqlalchemy.orm import relation -from sqlalchemy.orm import backref + +from sqlalchemy.orm import backref, relation from pagure.hooks import BaseHook, RequiredIf from pagure.lib.model import BASE, Project diff --git a/pagure/hooks/mail.py b/pagure/hooks/mail.py index 57e3124..64bcf42 100644 --- a/pagure/hooks/mail.py +++ b/pagure/hooks/mail.py @@ -8,20 +8,21 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals -import sqlalchemy as sa import os -import pygit2 import subprocess + +import pygit2 +import sqlalchemy as sa import wtforms try: from flask_wtf import FlaskForm except ImportError: from flask_wtf import Form as FlaskForm -from sqlalchemy.orm import relation -from sqlalchemy.orm import backref + +from sqlalchemy.orm import backref, relation from pagure.config import config as pagure_config from pagure.hooks import BaseHook, BaseRunner, RequiredIf diff --git a/pagure/hooks/mirror_hook.py b/pagure/hooks/mirror_hook.py index 24e2ba6..d4dffb1 100644 --- a/pagure/hooks/mirror_hook.py +++ b/pagure/hooks/mirror_hook.py @@ -7,7 +7,7 @@ Pierre-Yves Chibon """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import sqlalchemy as sa import wtforms @@ -16,8 +16,8 @@ try: from flask_wtf import FlaskForm except ImportError: from flask_wtf import Form as FlaskForm -from sqlalchemy.orm import relation -from sqlalchemy.orm import backref + +from sqlalchemy.orm import backref, relation import pagure.config import pagure.lib.tasks_mirror @@ -25,7 +25,6 @@ from pagure.hooks import BaseHook, BaseRunner, RequiredIf from pagure.lib.model import BASE, Project from pagure.utils import get_repo_path, ssh_urlpattern - _config = pagure.config.reload_config() diff --git a/pagure/hooks/pagure_ci.py b/pagure/hooks/pagure_ci.py index 11baf37..4cce6dd 100644 --- a/pagure/hooks/pagure_ci.py +++ b/pagure/hooks/pagure_ci.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import flask import sqlalchemy as sa @@ -18,8 +18,8 @@ try: from flask_wtf import FlaskForm except ImportError: from flask_wtf import Form as FlaskForm -from sqlalchemy.orm import relation -from sqlalchemy.orm import backref + +from sqlalchemy.orm import backref, relation import pagure.lib.login from pagure.hooks import BaseHook, BaseRunner, RequiredIf diff --git a/pagure/hooks/pagure_force_commit.py b/pagure/hooks/pagure_force_commit.py index 150f263..47d4bcf 100644 --- a/pagure/hooks/pagure_force_commit.py +++ b/pagure/hooks/pagure_force_commit.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import sqlalchemy as sa import wtforms @@ -17,8 +17,8 @@ try: from flask_wtf import FlaskForm except ImportError: from flask_wtf import Form as FlaskForm -from sqlalchemy.orm import relation -from sqlalchemy.orm import backref + +from sqlalchemy.orm import backref, relation import pagure.lib.git from pagure.hooks import BaseHook, BaseRunner, RequiredIf diff --git a/pagure/hooks/pagure_hook.py b/pagure/hooks/pagure_hook.py index 284ec26..7e9f3f2 100644 --- a/pagure/hooks/pagure_hook.py +++ b/pagure/hooks/pagure_hook.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import logging @@ -20,17 +20,16 @@ try: from flask_wtf import FlaskForm except ImportError: from flask_wtf import Form as FlaskForm + from sqlalchemy.exc import SQLAlchemyError -from sqlalchemy.orm import relation -from sqlalchemy.orm import backref +from sqlalchemy.orm import backref, relation import pagure.config -import pagure.lib.query import pagure.lib.git +import pagure.lib.query from pagure.hooks import BaseHook, BaseRunner from pagure.lib.model import BASE, Project - _log = logging.getLogger(__name__) pagure_config = pagure.config.reload_config() diff --git a/pagure/hooks/pagure_no_new_branches.py b/pagure/hooks/pagure_no_new_branches.py index cddec81..3c02754 100644 --- a/pagure/hooks/pagure_no_new_branches.py +++ b/pagure/hooks/pagure_no_new_branches.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import sqlalchemy as sa import wtforms @@ -17,8 +17,8 @@ try: from flask_wtf import FlaskForm except ImportError: from flask_wtf import Form as FlaskForm -from sqlalchemy.orm import relation -from sqlalchemy.orm import backref + +from sqlalchemy.orm import backref, relation from pagure.hooks import BaseHook, BaseRunner from pagure.lib.model import BASE, Project diff --git a/pagure/hooks/pagure_request_hook.py b/pagure/hooks/pagure_request_hook.py index 254475f..c3533a4 100644 --- a/pagure/hooks/pagure_request_hook.py +++ b/pagure/hooks/pagure_request_hook.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import sqlalchemy as sa import wtforms @@ -17,8 +17,8 @@ try: from flask_wtf import FlaskForm except ImportError: from flask_wtf import Form as FlaskForm -from sqlalchemy.orm import relation -from sqlalchemy.orm import backref + +from sqlalchemy.orm import backref, relation import pagure.lib.git import pagure.lib.tasks_services diff --git a/pagure/hooks/pagure_ticket_hook.py b/pagure/hooks/pagure_ticket_hook.py index 5f9f247..085b75f 100644 --- a/pagure/hooks/pagure_ticket_hook.py +++ b/pagure/hooks/pagure_ticket_hook.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import os @@ -19,8 +19,8 @@ try: from flask_wtf import FlaskForm except ImportError: from flask_wtf import Form as FlaskForm -from sqlalchemy.orm import relation -from sqlalchemy.orm import backref + +from sqlalchemy.orm import backref, relation import pagure.lib.git import pagure.lib.tasks_services diff --git a/pagure/hooks/pagure_unsigned_commits.py b/pagure/hooks/pagure_unsigned_commits.py index d8a38c6..09b89da 100644 --- a/pagure/hooks/pagure_unsigned_commits.py +++ b/pagure/hooks/pagure_unsigned_commits.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import sqlalchemy as sa import wtforms @@ -17,15 +17,14 @@ try: from flask_wtf import FlaskForm except ImportError: from flask_wtf import Form as FlaskForm -from sqlalchemy.orm import relation -from sqlalchemy.orm import backref + +from sqlalchemy.orm import backref, relation import pagure.config import pagure.lib.git from pagure.hooks import BaseHook, BaseRunner from pagure.lib.model import BASE, Project - _config = pagure.config.reload_config() diff --git a/pagure/hooks/rtd.py b/pagure/hooks/rtd.py index a1ecb45..c8430ce 100644 --- a/pagure/hooks/rtd.py +++ b/pagure/hooks/rtd.py @@ -9,18 +9,18 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals -import sqlalchemy as sa import requests +import sqlalchemy as sa import wtforms try: from flask_wtf import FlaskForm except ImportError: from flask_wtf import Form as FlaskForm -from sqlalchemy.orm import relation -from sqlalchemy.orm import backref + +from sqlalchemy.orm import backref, relation import pagure from pagure.hooks import BaseHook, BaseRunner diff --git a/pagure/internal/__init__.py b/pagure/internal/__init__.py index 1f5df6d..9f00343 100644 --- a/pagure/internal/__init__.py +++ b/pagure/internal/__init__.py @@ -10,17 +10,16 @@ Internal endpoints. """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import collections import logging import os +from functools import wraps import flask import pygit2 import werkzeug.utils - -from functools import wraps from sqlalchemy.exc import SQLAlchemyError PV = flask.Blueprint("internal_ns", __name__, url_prefix="/pv") @@ -31,11 +30,10 @@ import pagure.forms # noqa: E402 import pagure.lib.git # noqa: E402 import pagure.lib.query # noqa: E402 import pagure.lib.tasks # noqa: E402 -import pagure.utils # noqa: E402 import pagure.ui.fork # noqa: E402 +import pagure.utils # noqa: E402 from pagure.config import config as pagure_config # noqa: E402 - _log = logging.getLogger(__name__) _auth_log = logging.getLogger("pagure_auth") diff --git a/pagure/lib/encoding_utils.py b/pagure/lib/encoding_utils.py index 2746f81..95d84e0 100644 --- a/pagure/lib/encoding_utils.py +++ b/pagure/lib/encoding_utils.py @@ -11,9 +11,10 @@ the repetitive task of identifying the character encoding and decoding the content to unicode is implemented here. """ -from __future__ import unicode_literals, division, absolute_import -from collections import namedtuple +from __future__ import absolute_import, division, unicode_literals + import logging +from collections import namedtuple try: import cchardet @@ -24,7 +25,6 @@ except ImportError: from pagure.exceptions import PagureEncodingException - _log = logging.getLogger(__name__) Guess = namedtuple("Guess", ["encoding", "confidence"]) diff --git a/pagure/lib/git.py b/pagure/lib/git.py index 913de33..84bc914 100644 --- a/pagure/lib/git.py +++ b/pagure/lib/git.py @@ -7,13 +7,7 @@ Pierre-Yves Chibon """ -from __future__ import print_function, unicode_literals, absolute_import - -# pylint: disable=too-many-branches -# pylint: disable=too-many-arguments -# pylint: disable=too-many-locals -# pylint: disable=too-many-statements -# pylint: disable=too-many-lines +from __future__ import absolute_import, print_function, unicode_literals import datetime import json @@ -21,31 +15,34 @@ import logging import os import shutil import subprocess -import requests -import tempfile import tarfile +import tempfile import zipfile import arrow import pygit2 +import requests import six -from sqlalchemy.exc import SQLAlchemyError - # from sqlalchemy.orm.session import Session from pygit2.remote import RemoteCollection +from sqlalchemy.exc import SQLAlchemyError -import pagure.utils import pagure.exceptions -import pagure.lib.query +import pagure.hooks import pagure.lib.notify +import pagure.lib.query import pagure.lib.tasks +import pagure.utils from pagure.config import config as pagure_config from pagure.lib import model from pagure.lib.repo import PagureRepo -import pagure.hooks -# from pagure.hooks import run_project_hooks +# pylint: disable=too-many-branches +# pylint: disable=too-many-arguments +# pylint: disable=too-many-locals +# pylint: disable=too-many-statements +# pylint: disable=too-many-lines _log = logging.getLogger(__name__) diff --git a/pagure/lib/git_auth.py b/pagure/lib/git_auth.py index cdf3589..c4c0892 100644 --- a/pagure/lib/git_auth.py +++ b/pagure/lib/git_auth.py @@ -7,17 +7,17 @@ Pierre-Yves Chibon """ -from __future__ import print_function, unicode_literals, absolute_import +from __future__ import absolute_import, print_function, unicode_literals import abc import json import logging import os -import pkg_resources import subprocess import tempfile from io import open +import pkg_resources import werkzeug.utils from six import with_metaclass from six.moves import dbm_gnu @@ -29,7 +29,6 @@ from pagure.config import config as pagure_config from pagure.lib import model from pagure.utils import is_repo_collaborator, lookup_deploykey - # logging.config.dictConfig(pagure_config.get('LOGGING') or {'version': 1}) _log = logging.getLogger(__name__) diff --git a/pagure/lib/lib_ci.py b/pagure/lib/lib_ci.py index 71c64b8..fac71d6 100644 --- a/pagure/lib/lib_ci.py +++ b/pagure/lib/lib_ci.py @@ -10,14 +10,14 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals # pylint: disable=too-many-locals import logging import time + import pagure.exceptions import pagure.lib.query - from pagure.config import config as pagure_config _log = logging.getLogger(__name__) diff --git a/pagure/lib/link.py b/pagure/lib/link.py index 449c78d..7c778ca 100644 --- a/pagure/lib/link.py +++ b/pagure/lib/link.py @@ -10,15 +10,15 @@ # pylint: disable=too-many-arguments -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import re -import pagure.lib.query + import pagure.exceptions +import pagure.lib.query import pagure.utils from pagure.config import config as pagure_config - FIXES = [ re.compile(r"(?:.*\s+)?{0}?[sd]?:?\s*?#(\d+)".format(kw), re.I) for kw in ["fix", "fixe", "merge", "close", "resolve"] diff --git a/pagure/lib/login.py b/pagure/lib/login.py index eeb56a0..3a0760a 100644 --- a/pagure/lib/login.py +++ b/pagure/lib/login.py @@ -9,7 +9,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals try: # Provided in Python 3.6+ @@ -21,14 +21,15 @@ except ImportError: random = random.SystemRandom() random_choice = random.choice -import string import hashlib +import string + import bcrypt import six +from cryptography.hazmat.primitives import constant_time import pagure.config from pagure.lib import model -from cryptography.hazmat.primitives import constant_time def id_generator(size=15, chars=string.ascii_uppercase + string.digits): diff --git a/pagure/lib/mimetype.py b/pagure/lib/mimetype.py index 44187c6..b8ec46f 100644 --- a/pagure/lib/mimetype.py +++ b/pagure/lib/mimetype.py @@ -1,15 +1,15 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import logging import mimetypes + import kitchen.text.converters as ktc import six import pagure.lib.encoding_utils - _log = logging.getLogger(__name__) diff --git a/pagure/lib/model.py b/pagure/lib/model.py index 53457dc..252d17c 100644 --- a/pagure/lib/model.py +++ b/pagure/lib/model.py @@ -8,29 +8,30 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals -import arrow -import datetime import collections -import logging +import datetime import json +import logging import operator -import re -import pygit2 import os +import re from operator import attrgetter +import arrow +import pygit2 import six import sqlalchemy as sa - from sqlalchemy import create_engine from sqlalchemy.exc import SQLAlchemyError -from sqlalchemy.orm import backref -from sqlalchemy.orm import sessionmaker -from sqlalchemy.orm import scoped_session -from sqlalchemy.orm import relation -from sqlalchemy.orm import validates +from sqlalchemy.orm import ( + backref, + relation, + scoped_session, + sessionmaker, + validates, +) import pagure.exceptions from pagure.config import config as pagure_config @@ -38,7 +39,6 @@ from pagure.lib.model_base import BASE from pagure.lib.plugins import get_plugin_tables from pagure.utils import is_true - _log = logging.getLogger(__name__) # hit w/ all the id field we use @@ -86,8 +86,8 @@ def create_tables(db_url, alembic_ini=None, acls=None, debug=False): # Ignore the warning missing alembic # pylint: disable=import-error - from alembic.config import Config from alembic import command + from alembic.config import Config alembic_cfg = Config(alembic_ini) command.stamp(alembic_cfg, "head") diff --git a/pagure/lib/model_base.py b/pagure/lib/model_base.py index 8b5737c..4aaa00e 100644 --- a/pagure/lib/model_base.py +++ b/pagure/lib/model_base.py @@ -8,13 +8,11 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import sqlalchemy from sqlalchemy.ext.declarative import declarative_base -from sqlalchemy.orm import sessionmaker -from sqlalchemy.orm import scoped_session - +from sqlalchemy.orm import scoped_session, sessionmaker CONVENTION = { "ix": "ix_%(table_name)s_%(column_0_label)s", diff --git a/pagure/lib/notify.py b/pagure/lib/notify.py index b6feb84..53b1eaa 100644 --- a/pagure/lib/notify.py +++ b/pagure/lib/notify.py @@ -8,12 +8,7 @@ pagure notifications. """ -from __future__ import print_function, unicode_literals, absolute_import - - -# pylint: disable=too-many-branches -# pylint: disable=too-many-arguments - +from __future__ import absolute_import, print_function, unicode_literals import datetime import hashlib @@ -22,20 +17,24 @@ import logging import os import re import smtplib -import time -import six import ssl +import time from email.header import Header from email.mime.text import MIMEText -from six.moves.urllib_parse import urljoin import blinker import flask +import six +from markdown.extensions.fenced_code import FencedBlockPreprocessor +from six.moves.urllib_parse import urljoin + import pagure.lib.query import pagure.lib.tasks_services from pagure.config import config as pagure_config from pagure.pfmarkdown import MENTION_RE -from markdown.extensions.fenced_code import FencedBlockPreprocessor + +# pylint: disable=too-many-branches +# pylint: disable=too-many-arguments _log = logging.getLogger(__name__) diff --git a/pagure/lib/plugins.py b/pagure/lib/plugins.py index 98529b2..62ab94d 100644 --- a/pagure/lib/plugins.py +++ b/pagure/lib/plugins.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals from straight.plugin import load diff --git a/pagure/lib/query.py b/pagure/lib/query.py index f498091..97ff6e7 100644 --- a/pagure/lib/query.py +++ b/pagure/lib/query.py @@ -9,7 +9,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals # pylint: disable=too-many-branches # pylint: disable=too-many-arguments @@ -34,7 +34,6 @@ import shutil import subprocess import tempfile import uuid - from collections import Counter from math import ceil @@ -45,11 +44,10 @@ import six import sqlalchemy import sqlalchemy.schema import werkzeug.utils - -from six.moves.urllib_parse import urlparse, urlencode, parse_qsl -from sqlalchemy import asc, desc, func, cast, Text -from sqlalchemy.orm import aliased from flask import url_for +from six.moves.urllib_parse import parse_qsl, urlencode, urlparse +from sqlalchemy import Text, asc, cast, desc, func +from sqlalchemy.orm import aliased import pagure.exceptions import pagure.lib.git @@ -68,7 +66,6 @@ from pagure.lib import model # For backward compatibility since this function used to be in this file from pagure.lib.model_base import create_session # noqa - REDIS = None PAGURE_CI = None _log = logging.getLogger(__name__) diff --git a/pagure/lib/repo.py b/pagure/lib/repo.py index 3638a9c..524ea28 100644 --- a/pagure/lib/repo.py +++ b/pagure/lib/repo.py @@ -7,7 +7,7 @@ Pierre-Yves Chibon """ -from __future__ import print_function, unicode_literals, absolute_import +from __future__ import absolute_import, print_function, unicode_literals import logging import subprocess @@ -17,7 +17,6 @@ import pygit2 import pagure import pagure.exceptions - _log = logging.getLogger(__name__) diff --git a/pagure/lib/tasks.py b/pagure/lib/tasks.py index fdd9063..05a0ed0 100644 --- a/pagure/lib/tasks.py +++ b/pagure/lib/tasks.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import collections import datetime @@ -22,7 +22,6 @@ import time import arrow import pygit2 import six - from celery import Celery from celery.result import AsyncResult from celery.signals import after_setup_task_logger @@ -32,12 +31,12 @@ from sqlalchemy.exc import SQLAlchemyError import pagure.lib.git import pagure.lib.git_auth import pagure.lib.link -import pagure.lib.query import pagure.lib.model +import pagure.lib.query import pagure.lib.repo import pagure.utils -from pagure.lib.tasks_utils import pagure_task from pagure.config import config as pagure_config +from pagure.lib.tasks_utils import pagure_task from pagure.utils import get_parent_repo_path # logging.config.dictConfig(pagure_config.get('LOGGING') or {'version': 1}) diff --git a/pagure/lib/tasks_mirror.py b/pagure/lib/tasks_mirror.py index b5df7f2..776b711 100644 --- a/pagure/lib/tasks_mirror.py +++ b/pagure/lib/tasks_mirror.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import base64 import datetime @@ -19,12 +19,11 @@ import struct import six import werkzeug.utils - from celery import Celery from cryptography import utils from cryptography.hazmat.backends import default_backend -from cryptography.hazmat.primitives.asymmetric import rsa from cryptography.hazmat.primitives import serialization +from cryptography.hazmat.primitives.asymmetric import rsa import pagure.lib.query from pagure.config import config as pagure_config diff --git a/pagure/lib/tasks_services.py b/pagure/lib/tasks_services.py index 4193b1e..91bce7f 100644 --- a/pagure/lib/tasks_services.py +++ b/pagure/lib/tasks_services.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import datetime import hashlib @@ -21,7 +21,6 @@ import uuid import requests import six - from celery import Celery from celery.signals import after_setup_task_logger from celery.utils.log import get_task_logger @@ -30,10 +29,10 @@ from sqlalchemy.exc import SQLAlchemyError import pagure.lib.query from pagure.config import config as pagure_config +from pagure.lib.lib_ci import trigger_jenkins_build from pagure.lib.tasks_utils import pagure_task from pagure.mail_logging import format_callstack -from pagure.lib.lib_ci import trigger_jenkins_build -from pagure.utils import split_project_fullname, set_up_logging +from pagure.utils import set_up_logging, split_project_fullname # logging.config.dictConfig(pagure_config.get('LOGGING') or {'version': 1}) _log = get_task_logger(__name__) diff --git a/pagure/lib/tasks_utils.py b/pagure/lib/tasks_utils.py index 0a3de9c..f65d7eb 100644 --- a/pagure/lib/tasks_utils.py +++ b/pagure/lib/tasks_utils.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import gc from functools import wraps diff --git a/pagure/login_forms.py b/pagure/login_forms.py index 56cf91c..fe3624f 100644 --- a/pagure/login_forms.py +++ b/pagure/login_forms.py @@ -20,7 +20,7 @@ # pylint: disable=no-init -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import wtforms diff --git a/pagure/mail_logging.py b/pagure/mail_logging.py index a8dad19..1218bee 100644 --- a/pagure/mail_logging.py +++ b/pagure/mail_logging.py @@ -23,12 +23,11 @@ Mail handler for logging. """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals +import inspect import logging import logging.handlers - -import inspect import socket import traceback diff --git a/pagure/perfrepo.py b/pagure/perfrepo.py index 2a4c067..de92c47 100644 --- a/pagure/perfrepo.py +++ b/pagure/perfrepo.py @@ -9,16 +9,15 @@ """ -from __future__ import print_function, unicode_literals, absolute_import +from __future__ import absolute_import, print_function, unicode_literals - -import pprint import os +import pprint import traceback import types -import six import pygit2 +import six try: import _pygit2 diff --git a/pagure/pfmarkdown.py b/pagure/pfmarkdown.py index 706c74c..4f2a3e2 100644 --- a/pagure/pfmarkdown.py +++ b/pagure/pfmarkdown.py @@ -19,24 +19,22 @@ Author: Ralph Bean Pierre-Yves Chibon """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import logging +import re import flask - import markdown.inlinepatterns -import markdown.preprocessors import markdown.postprocessors +import markdown.preprocessors import markdown.util import pygit2 -import re import six import pagure.lib.query from pagure.config import config as pagure_config - try: from markdown.inlinepatterns import ImagePattern as ImagePattern diff --git a/pagure/proxy.py b/pagure/proxy.py index 6b588b0..fdb385d 100644 --- a/pagure/proxy.py +++ b/pagure/proxy.py @@ -26,7 +26,7 @@ redirects are using ``https``. Source: http://flask.pocoo.org/snippets/35/ by Peter Hansen """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals class ReverseProxied(object): # pragma: no cover diff --git a/pagure/ui/__init__.py b/pagure/ui/__init__.py index ab632f3..52317c3 100644 --- a/pagure/ui/__init__.py +++ b/pagure/ui/__init__.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import flask @@ -17,15 +17,16 @@ UI_NS = flask.Blueprint("ui_ns", __name__) # Import the different controllers in the UI namespace/blueprint import pagure.config # noqa: E402 import pagure.ui.app # noqa: E402 -from pagure.ui.clone import add_clone_proxy_cmds # noqa: E402 import pagure.ui.fork # noqa: E402 import pagure.ui.groups # noqa: E402 +from pagure.ui.clone import add_clone_proxy_cmds # noqa: E402 if pagure.config.config.get("ENABLE_TICKETS", True): import pagure.ui.issues # noqa: E402 import pagure.ui.boards # noqa: E402 -import pagure.ui.plugins # noqa: E402 -import pagure.ui.repo # noqa: E402 + +import pagure.ui.plugins # noqa: E402, I202 +import pagure.ui.repo # noqa: E402, I202 if pagure.config.config["PAGURE_AUTH"] == "local": import pagure.ui.login # noqa: E402 diff --git a/pagure/ui/app.py b/pagure/ui/app.py index 0e7521b..f224085 100644 --- a/pagure/ui/app.py +++ b/pagure/ui/app.py @@ -9,7 +9,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import datetime import logging @@ -19,23 +19,22 @@ import flask from sqlalchemy.exc import SQLAlchemyError import pagure.exceptions +import pagure.forms import pagure.lib.git import pagure.lib.query import pagure.lib.tasks -import pagure.forms import pagure.ui.filters from pagure.config import config as pagure_config from pagure.flask_app import _get_user, admin_session_timedout from pagure.ui import UI_NS from pagure.utils import ( authenticated, - is_safe_url, - login_required, get_task_redirect_url, + is_safe_url, is_true, + login_required, ) - _log = logging.getLogger(__name__) diff --git a/pagure/ui/boards.py b/pagure/ui/boards.py index 56ee864..133159b 100644 --- a/pagure/ui/boards.py +++ b/pagure/ui/boards.py @@ -14,23 +14,19 @@ # pylint: disable=too-many-statements -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import logging import flask -from pagure.ui import UI_NS -from pagure.utils import ( - authenticated, - login_required, -) from pagure.decorators import ( - is_repo_admin, - is_admin_sess_timedout, has_issue_tracker, + is_admin_sess_timedout, + is_repo_admin, ) - +from pagure.ui import UI_NS +from pagure.utils import authenticated, login_required _log = logging.getLogger(__name__) diff --git a/pagure/ui/clone.py b/pagure/ui/clone.py index 3d3b2e4..59a225e 100644 --- a/pagure/ui/clone.py +++ b/pagure/ui/clone.py @@ -8,25 +8,25 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import base64 import logging +import os import subprocess import tempfile -import os import flask import requests import werkzeug.wsgi import pagure.exceptions +import pagure.forms import pagure.lib.git import pagure.lib.mimetype import pagure.lib.plugins import pagure.lib.query import pagure.lib.tasks -import pagure.forms import pagure.ui.plugins from pagure.config import config as pagure_config from pagure.ui import UI_NS diff --git a/pagure/ui/fas_login.py b/pagure/ui/fas_login.py index 3e37e37..f565d8c 100644 --- a/pagure/ui/fas_login.py +++ b/pagure/ui/fas_login.py @@ -8,21 +8,20 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import logging from base64 import b64decode import flask +import flask_fas_openid from flask import Markup - from sqlalchemy.exc import SQLAlchemyError import pagure.lib.query import pagure.utils -from pagure.flask_app import logout from pagure.config import config as pagure_config -import flask_fas_openid +from pagure.flask_app import logout FAS = flask_fas_openid.FAS() diff --git a/pagure/ui/filters.py b/pagure/ui/filters.py index 188c803..77e128d 100644 --- a/pagure/ui/filters.py +++ b/pagure/ui/filters.py @@ -13,30 +13,28 @@ # pylint: disable=too-many-locals -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals -import textwrap import logging import os +import textwrap from os.path import splitext import arrow import bleach import flask -import six import pygit2 - -from six.moves.urllib.parse import urlparse, parse_qsl +import six from jinja2 import escape +from six.moves.urllib.parse import parse_qsl, urlparse import pagure.exceptions -import pagure.lib.query import pagure.forms +import pagure.lib.query from pagure.config import config as pagure_config from pagure.ui import UI_NS from pagure.utils import authenticated, is_repo_committer, is_true - _log = logging.getLogger(__name__) # Jinja filters diff --git a/pagure/ui/fork.py b/pagure/ui/fork.py index 42eabef..53c707f 100644 --- a/pagure/ui/fork.py +++ b/pagure/ui/fork.py @@ -16,10 +16,10 @@ # pylint: disable=too-many-lines -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals -import logging import json +import logging import os from math import ceil @@ -30,21 +30,20 @@ from sqlalchemy.exc import SQLAlchemyError import pagure import pagure.doc_utils import pagure.exceptions +import pagure.forms import pagure.lib.git import pagure.lib.plugins import pagure.lib.query import pagure.lib.tasks -import pagure.forms from pagure.config import config as pagure_config from pagure.ui import UI_NS from pagure.utils import ( - login_required, __get_file_in_tree, get_parent_repo_path, is_true, + login_required, ) - _log = logging.getLogger(__name__) diff --git a/pagure/ui/groups.py b/pagure/ui/groups.py index a9ec736..b7db082 100644 --- a/pagure/ui/groups.py +++ b/pagure/ui/groups.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import logging @@ -22,7 +22,6 @@ from pagure.config import config as pagure_config from pagure.ui import UI_NS from pagure.utils import login_required - _log = logging.getLogger(__name__) diff --git a/pagure/ui/issues.py b/pagure/ui/issues.py index 32504b4..d46f6ac 100644 --- a/pagure/ui/issues.py +++ b/pagure/ui/issues.py @@ -14,39 +14,37 @@ # pylint: disable=too-many-statements -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import datetime import logging import os -from collections import defaultdict, OrderedDict +from collections import OrderedDict, defaultdict from math import ceil import flask import pygit2 import werkzeug.datastructures -from sqlalchemy.exc import SQLAlchemyError from binaryornot.helpers import is_binary_string from six.moves.urllib.parse import urljoin +from sqlalchemy.exc import SQLAlchemyError import pagure.doc_utils import pagure.exceptions -import pagure.lib.query -import pagure.lib.mimetype -from pagure.decorators import has_issue_tracker, is_repo_admin - import pagure.forms +import pagure.lib.mimetype +import pagure.lib.query from pagure.config import config as pagure_config +from pagure.decorators import has_issue_tracker, is_repo_admin from pagure.ui import UI_NS from pagure.utils import ( __get_file_in_tree, authenticated, + is_true, login_required, urlpattern, - is_true, ) - _log = logging.getLogger(__name__) diff --git a/pagure/ui/login.py b/pagure/ui/login.py index 4ecc38e..ef6e495 100644 --- a/pagure/ui/login.py +++ b/pagure/ui/login.py @@ -9,26 +9,25 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import datetime import logging import flask -from sqlalchemy.exc import SQLAlchemyError from six.moves.urllib.parse import urljoin +from sqlalchemy.exc import SQLAlchemyError -import pagure.login_forms as forms import pagure.config import pagure.lib.login import pagure.lib.model as model import pagure.lib.model_base import pagure.lib.notify import pagure.lib.query -from pagure.utils import login_required -from pagure.lib.login import generate_hashed_value, check_password +import pagure.login_forms as forms +from pagure.lib.login import check_password, generate_hashed_value from pagure.ui import UI_NS - +from pagure.utils import login_required _log = logging.getLogger(__name__) diff --git a/pagure/ui/oidc_login.py b/pagure/ui/oidc_login.py index 39153d7..8488360 100644 --- a/pagure/ui/oidc_login.py +++ b/pagure/ui/oidc_login.py @@ -8,14 +8,15 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import logging from base64 import b64decode import flask -from flask import Markup import munch +from flask import Markup +from flask_oidc import OpenIDConnect from sqlalchemy.exc import SQLAlchemyError import pagure.lib.query @@ -23,8 +24,6 @@ from pagure.config import config as pagure_config from pagure.flask_app import logout from pagure.utils import is_admin -from flask_oidc import OpenIDConnect - oidc = OpenIDConnect() diff --git a/pagure/ui/plugins.py b/pagure/ui/plugins.py index 6eee55a..a7133ec 100644 --- a/pagure/ui/plugins.py +++ b/pagure/ui/plugins.py @@ -11,23 +11,21 @@ # pylint: disable=too-many-branches -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import logging import flask from flask import Markup - from sqlalchemy.exc import SQLAlchemyError import pagure.exceptions import pagure.forms import pagure.lib.plugins +from pagure.decorators import is_repo_admin from pagure.exceptions import FileNotFoundException from pagure.ui import UI_NS from pagure.utils import login_required -from pagure.decorators import is_repo_admin - _log = logging.getLogger(__name__) diff --git a/pagure/ui/repo.py b/pagure/ui/repo.py index 2d660e5..fcb7f4a 100644 --- a/pagure/ui/repo.py +++ b/pagure/ui/repo.py @@ -17,7 +17,7 @@ # pylint: disable=broad-except -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import datetime import json @@ -25,45 +25,43 @@ import logging import os import re from math import ceil -from six.moves.urllib.parse import urljoin import flask -import pygit2 import kitchen.text.converters as ktc +import pygit2 import six import werkzeug.utils - -from six import BytesIO +from binaryornot.helpers import is_binary_string from PIL import Image +from six import BytesIO +from six.moves.urllib.parse import urljoin from sqlalchemy.exc import SQLAlchemyError -from binaryornot.helpers import is_binary_string - import pagure.exceptions +import pagure.forms import pagure.lib.git import pagure.lib.mimetype import pagure.lib.plugins import pagure.lib.query import pagure.lib.tasks -import pagure.forms import pagure.ui.plugins from pagure.config import config as pagure_config +from pagure.decorators import ( + has_issue_or_pr_enabled, + has_issue_tracker, + has_pr_enabled, + is_admin_sess_timedout, + is_repo_admin, +) from pagure.flask_app import _get_user from pagure.lib import encoding_utils from pagure.ui import UI_NS from pagure.utils import ( __get_file_in_tree, - login_required, is_true, + login_required, stream_template, ) -from pagure.decorators import ( - is_repo_admin, - is_admin_sess_timedout, - has_issue_tracker, - has_issue_or_pr_enabled, - has_pr_enabled, -) _log = logging.getLogger(__name__) diff --git a/pagure/utils.py b/pagure/utils.py index 8b24e47..61693f9 100644 --- a/pagure/utils.py +++ b/pagure/utils.py @@ -8,7 +8,7 @@ """ -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import datetime import fnmatch @@ -16,21 +16,20 @@ import logging import logging.config import os import re -from six.moves.urllib.parse import urlparse, urljoin from functools import wraps import flask import pygit2 import six import werkzeug.utils +from six.moves.urllib.parse import urljoin, urlparse +from pagure.config import config as pagure_config from pagure.exceptions import ( - PagureException, - InvalidTimestampException, InvalidDateformatException, + InvalidTimestampException, + PagureException, ) -from pagure.config import config as pagure_config - _log = logging.getLogger(__name__) LOGGER_SETUP = False From 45fe7d4296314ca14d8c967bdde8245aa88e1bad Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jan 16 2023 08:56:23 +0000 Subject: [PATCH 2/4] Make isort part of the test suite Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/pfmarkdown.py b/pagure/pfmarkdown.py index 4f2a3e2..fa625f4 100644 --- a/pagure/pfmarkdown.py +++ b/pagure/pfmarkdown.py @@ -25,6 +25,7 @@ import logging import re import flask + import markdown.inlinepatterns import markdown.postprocessors import markdown.preprocessors diff --git a/tests/test_style.py b/tests/test_style.py index 2be2ae4..91b375a 100644 --- a/tests/test_style.py +++ b/tests/test_style.py @@ -48,7 +48,7 @@ class TestStyle(unittest.TestCase): sys.executable, "-m", "flake8", - "--ignore=E712,W503,E203,E902", + "--ignore=E712,W503,E203,E902,I201,I100", "--max-line-length=80", REPO_PATH, ] @@ -119,6 +119,49 @@ class TestStyle(unittest.TestCase): self.assertEqual(proc.returncode, 0) + def test_code_with_isort(self): + """Enforce isort compliance on the codebase. + + This test runs isort on the code, and will fail if it returns a + non-zero exit code. + If isort is not installed, this test auto-skips. + """ + try: + import isort + except ImportError as e: + raise unittest.SkipTest( + "isort is not installed, skipping isort style check..." + ) + # We ignore the hooks files that have a bunch of symlink + isort_command = [ + sys.executable, + "-m", + "isort", + "-v", + "--profile", + "black", + "-s", + os.path.join(REPO_PATH, "hooks/files"), + "-l", + "79", + REPO_PATH, + ] + + # check if we have an old isort or not + import isort + + print(" ".join(isort_command)) + proc = subprocess.Popen( + isort_command, stdout=subprocess.PIPE, cwd=REPO_PATH + ) + stdout, stderr = proc.communicate() + print("stdout: ") + print(stdout.decode("utf-8")) if stdout else "" + print("stderr: ") + print(stderr.decode("utf-8")) if stderr else "" + + self.assertEqual(proc.returncode, 0) + if __name__ == "__main__": unittest.main(verbosity=2) From e4d5cd015840317eac64720a06def317f12de2c0 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jan 16 2023 08:56:23 +0000 Subject: [PATCH 3/4] Make style check happy once and for all Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/pfmarkdown.py b/pagure/pfmarkdown.py index fa625f4..4f2a3e2 100644 --- a/pagure/pfmarkdown.py +++ b/pagure/pfmarkdown.py @@ -25,7 +25,6 @@ import logging import re import flask - import markdown.inlinepatterns import markdown.postprocessors import markdown.preprocessors From dd9a12a484d563f124474e2dad56cca963f72d50 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jan 16 2023 09:00:58 +0000 Subject: [PATCH 4/4] Install isort in the container environments Signed-off-by: Pierre-Yves Chibon --- diff --git a/dev/containers/fedora-rpms-py3 b/dev/containers/fedora-rpms-py3 index 7b94e8f..64738d3 100644 --- a/dev/containers/fedora-rpms-py3 +++ b/dev/containers/fedora-rpms-py3 @@ -14,6 +14,7 @@ RUN dnf -y --enablerepo=updates-testing install \ python3-docutils \ python3-black \ python3-flake8 \ + python3-isort \ python3-pytest-xdist \ python3-flask-oidc \ python3-cchardet \