Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing: sort imports and add isort-only Ruff to pre-commit and autotests #6578

Merged
merged 2 commits into from Mar 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 14 additions & 0 deletions .github/workflows/autotest.yml
Expand Up @@ -20,6 +20,20 @@ jobs:
shell: bash
run: |
python3 tools/add_header --dry-run --disable-progress-bar
python_ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ruff
- name: Run Ruff
run: ruff check --output-format=github .
python_annotations:
if: |
!startsWith(github.ref_name, 'release')
Expand Down
5 changes: 5 additions & 0 deletions .pre-commit-config.yaml
Expand Up @@ -15,3 +15,8 @@ repos:
description: Run the `add_header` script to verify the file headers
entry: tools/add_header
language: system
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.3.3
hooks:
- id: ruff
args: [ --fix ]
4 changes: 2 additions & 2 deletions etc/docker/dev/configure_qbittorrent.py
Expand Up @@ -14,12 +14,12 @@
# limitations under the License.

import json
import re
import os
import re
import sys
import time
import urllib.request
import urllib.parse
import urllib.request


def wait_for_server(host, port, max_wait):
Expand Down
5 changes: 3 additions & 2 deletions lib/rucio/api/did.py
Expand Up @@ -23,13 +23,14 @@
from rucio.common.types import InternalAccount, InternalScope
from rucio.common.utils import api_update_return_dict
from rucio.core import did, naming_convention
from rucio.core.rse import get_rse_id
from rucio.core import meta_conventions as meta_convention_core
from rucio.core.rse import get_rse_id
from rucio.db.sqla.constants import DIDType
from rucio.db.sqla.session import read_session, stream_session, transactional_session

if TYPE_CHECKING:
from typing import Any, Optional, Iterator
from typing import Any, Iterator, Optional

from sqlalchemy.orm import Session


Expand Down
1 change: 1 addition & 0 deletions lib/rucio/api/identity.py
Expand Up @@ -28,6 +28,7 @@

if TYPE_CHECKING:
from typing import Optional

from sqlalchemy.orm import Session


Expand Down
5 changes: 3 additions & 2 deletions lib/rucio/api/meta_conventions.py
Expand Up @@ -13,16 +13,17 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from typing import TYPE_CHECKING, Union, Optional
from typing import TYPE_CHECKING, Optional, Union

from rucio.api.permission import has_permission
from rucio.common.exception import AccessDenied
from rucio.core import meta_conventions
from rucio.db.sqla.session import read_session, transactional_session
from rucio.db.sqla.constants import KeyType
from rucio.db.sqla.session import read_session, transactional_session

if TYPE_CHECKING:
from sqlalchemy.orm import Session

from rucio.common.types import InternalAccount


Expand Down
1 change: 1 addition & 0 deletions lib/rucio/api/rse.py
Expand Up @@ -26,6 +26,7 @@

if TYPE_CHECKING:
from typing import Optional

from sqlalchemy.orm import Session


Expand Down
2 changes: 1 addition & 1 deletion lib/rucio/api/rule.py
Expand Up @@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from typing import Any, TYPE_CHECKING
from typing import TYPE_CHECKING, Any

from rucio.api.permission import has_permission
from rucio.common.config import config_get_bool
Expand Down
2 changes: 1 addition & 1 deletion lib/rucio/api/subscription.py
Expand Up @@ -18,7 +18,7 @@
from typing import TYPE_CHECKING

from rucio.api.permission import has_permission
from rucio.common.exception import InvalidObject, AccessDenied
from rucio.common.exception import AccessDenied, InvalidObject
from rucio.common.schema import validate_schema
from rucio.common.types import InternalAccount, InternalScope
from rucio.core import subscription
Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/accountclient.py
Expand Up @@ -18,8 +18,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url


Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/accountlimitclient.py
Expand Up @@ -18,8 +18,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url


Expand Down
10 changes: 4 additions & 6 deletions lib/rucio/client/baseclient.py
Expand Up @@ -24,24 +24,22 @@
import sys
import time
from configparser import NoOptionError, NoSectionError
from os import environ, fdopen, path, makedirs, geteuid
from os import environ, fdopen, geteuid, makedirs, path
from shutil import move
from tempfile import mkstemp
from urllib.parse import urlparse

from dogpile.cache import make_region
from requests import Session, Response
from requests import Response, Session
from requests.exceptions import ConnectionError
from requests.status_codes import codes

from rucio import version
from rucio.common import exception
from rucio.common.config import config_get, config_get_bool, config_get_int
from rucio.common.exception import (CannotAuthenticate, ClientProtocolNotSupported,
NoAuthInformation, MissingClientParameter,
MissingModuleException, ServerConnectionException)
from rucio.common.exception import CannotAuthenticate, ClientProtocolNotSupported, MissingClientParameter, MissingModuleException, NoAuthInformation, ServerConnectionException
from rucio.common.extra import import_extras
from rucio.common.utils import build_url, get_tmp_dir, my_key_generator, parse_response, ssh_sign, setup_logger
from rucio.common.utils import build_url, get_tmp_dir, my_key_generator, parse_response, setup_logger, ssh_sign

EXTRA_MODULES = import_extras(['requests_kerberos'])

Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/configclient.py
Expand Up @@ -17,8 +17,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url


Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/credentialclient.py
Expand Up @@ -15,8 +15,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url


Expand Down
7 changes: 3 additions & 4 deletions lib/rucio/client/didclient.py
Expand Up @@ -15,15 +15,14 @@

from datetime import datetime
from json import dumps
from typing import Optional, Any
from typing import Any, Optional
from urllib.parse import quote_plus

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.exception import DeprecationError
from rucio.common.utils import build_url, render_json, render_json_list, date_to_str
from rucio.common.utils import build_url, date_to_str, render_json, render_json_list


class DIDClient(BaseClient):
Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/diracclient.py
Expand Up @@ -17,8 +17,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url


Expand Down
8 changes: 3 additions & 5 deletions lib/rucio/client/downloadclient.py
Expand Up @@ -23,18 +23,16 @@
import signal
import subprocess
import time
from queue import Queue, Empty, deque
from queue import Empty, Queue, deque
from threading import Thread

from rucio import version
from rucio.client.client import Client
from rucio.common.config import config_get
from rucio.common.didtype import DID
from rucio.common.exception import (InputValidationError, NoFilesDownloaded, NotAllFilesDownloaded, RucioException)
from rucio.common.exception import InputValidationError, NoFilesDownloaded, NotAllFilesDownloaded, RucioException
from rucio.common.pcache import Pcache
from rucio.common.utils import GLOBALLY_SUPPORTED_CHECKSUMS, CHECKSUM_ALGO_DICT, PREFERRED_CHECKSUM
from rucio.common.utils import adler32, detect_client_location, generate_uuid, parse_replicas_from_string, \
send_trace, sizefmt, execute, parse_replicas_from_file, extract_scope
from rucio.common.utils import CHECKSUM_ALGO_DICT, GLOBALLY_SUPPORTED_CHECKSUMS, PREFERRED_CHECKSUM, adler32, detect_client_location, execute, extract_scope, generate_uuid, parse_replicas_from_file, parse_replicas_from_string, send_trace, sizefmt
from rucio.rse import rsemanager as rsemgr


Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/exportclient.py
Expand Up @@ -15,8 +15,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url, parse_response


Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/fileclient.py
Expand Up @@ -18,8 +18,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url


Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/importclient.py
Expand Up @@ -15,8 +15,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url, render_json


Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/lifetimeclient.py
Expand Up @@ -17,8 +17,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url, render_json


Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/lockclient.py
Expand Up @@ -17,8 +17,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url, render_json


Expand Down
6 changes: 2 additions & 4 deletions lib/rucio/client/metaconventionsclient.py
Expand Up @@ -14,15 +14,13 @@
# limitations under the License.

from json import dumps, loads
from typing import TYPE_CHECKING, Optional, Union
from urllib.parse import quote_plus

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url
from typing import Union, Optional, TYPE_CHECKING


if TYPE_CHECKING:
from rucio.db.sqla.constants import KeyType
Expand Down
5 changes: 2 additions & 3 deletions lib/rucio/client/replicaclient.py
Expand Up @@ -19,9 +19,8 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.common.utils import build_url, render_json, chunks
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url, chunks, render_json


class ReplicaClient(BaseClient):
Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/requestclient.py
Expand Up @@ -17,8 +17,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url


Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/rseclient.py
Expand Up @@ -18,8 +18,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url


Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/ruleclient.py
Expand Up @@ -19,8 +19,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url


Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/scopeclient.py
Expand Up @@ -18,8 +18,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url


Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/subscriptionclient.py
Expand Up @@ -17,8 +17,7 @@

from requests.status_codes import codes

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.utils import build_url


Expand Down
3 changes: 1 addition & 2 deletions lib/rucio/client/touchclient.py
Expand Up @@ -17,8 +17,7 @@

from requests import post

from rucio.client.baseclient import BaseClient
from rucio.client.baseclient import choice
from rucio.client.baseclient import BaseClient, choice
from rucio.common.exception import RucioException, UnsupportedDIDType


Expand Down