Skip to content

Commit

Permalink
Merge pull request #1071 from samschott/isort
Browse files Browse the repository at this point in the history
Isort everything
  • Loading branch information
samschott authored Jul 27, 2024
2 parents 831885d + 533809e commit de3bbf7
Show file tree
Hide file tree
Showing 64 changed files with 491 additions and 503 deletions.
37 changes: 20 additions & 17 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,29 @@ name: Linting
on:
pull_request:
push:
branches: [master]
branches: [ master ]
workflow_dispatch:

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/[email protected]
with:
python-version: '3.x'
- run: |
python -m pip install --upgrade pip
python -m pip install -U .[lint]
- name: black
run: |
black --check --diff src tests
- name: flake8
run: |
flake8 src tests
- name: mypy
run: |
mypy src
- uses: actions/checkout@v4
- uses: actions/[email protected]
with:
python-version: '3.x'
- run: |
python -m pip install --upgrade pip
python -m pip install -U .[lint]
- name: black
run: |
black --check --diff src tests
- name: flake8
run: |
flake8 src tests
- name: mypy
run: |
mypy src
- name: isort
run: |
isort src tests
10 changes: 7 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ build-backend = "setuptools.build_meta"
[project]
name = "maestral"
version = "1.9.4"
authors = [{name = "Sam Schott", email = "[email protected]"}]
license = {text = "MIT"}
authors = [{ name = "Sam Schott", email = "[email protected]" }]
license = { text = "MIT" }
description = "Open-source Dropbox client for macOS and Linux."
classifiers = [
"License :: OSI Approved :: MIT License",
Expand All @@ -21,7 +21,7 @@ classifiers = [
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3 :: Only",
]
urls = {Homepage = "https://maestral.app"}
urls = { Homepage = "https://maestral.app" }
requires-python = ">=3.8"
dependencies = [
"click>=8.0.2",
Expand Down Expand Up @@ -58,6 +58,7 @@ lint = [
"black",
"flake8",
"flake8-pyproject",
"isort",
"mypy",
"pyupgrade",
"types-pkg_resources",
Expand Down Expand Up @@ -103,3 +104,6 @@ ignore_missing_imports = true
[tool.black]
line-length = 88
target-version = ["py38", "py39", "py310", "py311", "py312"]

[tool.isort]
profile = "black"
1 change: 0 additions & 1 deletion src/maestral/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import warnings


__version__ = "1.9.4"
__author__ = "Sam Schott"
__url__ = "https://maestral.app"
Expand Down
1 change: 0 additions & 1 deletion src/maestral/__main__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from .cli import main


if __name__ == "__main__":
main(prog_name="maestral")
17 changes: 10 additions & 7 deletions src/maestral/autostart.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,29 @@

from __future__ import annotations

import configparser

# system imports
import os
import os.path as osp
import plistlib
import re
import shutil
import stat
import subprocess
import plistlib
import configparser
import sys
from pathlib import Path
from enum import Enum
from pathlib import Path
from typing import Any
from importlib_metadata import files, PackageNotFoundError

from importlib_metadata import PackageNotFoundError, files

from .constants import BUNDLE_ID, ENV, FROZEN, IS_LINUX, IS_MACOS
from .exceptions import MaestralApiError

# local imports
from .utils.appdirs import get_home_dir, get_conf_path, get_data_path
from .utils.appdirs import get_conf_path, get_data_path, get_home_dir
from .utils.integration import cat
from .constants import BUNDLE_ID, ENV, IS_LINUX, IS_MACOS, FROZEN
from .exceptions import MaestralApiError


class SupportedImplementations(Enum):
Expand Down
25 changes: 12 additions & 13 deletions src/maestral/cli/cli_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,20 @@
from typing import TYPE_CHECKING

import click

from rich.console import Console, ConsoleRenderable

from .dialogs import select_path, select, confirm, prompt, select_multiple
from .output import warn, ok, info, echo, RichDateField, rich_table
from ..core import FolderMetadata, SharedLinkMetadata
from ..utils.path import delete
from .common import (
convert_api_errors,
check_for_fatal_errors,
config_option,
convert_api_errors,
existing_config_option,
inject_proxy,
)
from .core import DropboxPath, CliException
from ..core import FolderMetadata, SharedLinkMetadata
from ..utils.path import delete
from .core import CliException, DropboxPath
from .dialogs import confirm, prompt, select, select_multiple, select_path
from .output import RichDateField, echo, info, ok, rich_table, warn

if TYPE_CHECKING:
from ..daemon import MaestralProxy
Expand All @@ -37,7 +36,7 @@ def stop_daemon_with_cli_feedback(config_name: str) -> None:
"""Wrapper around :meth:`daemon.stop_maestral_daemon_process`
with command line feedback."""

from ..daemon import stop_maestral_daemon_process, Stop
from ..daemon import Stop, stop_maestral_daemon_process

echo("Stopping Maestral...", nl=False)
res = stop_maestral_daemon_process(config_name)
Expand Down Expand Up @@ -165,13 +164,13 @@ def link_dialog(m: MaestralProxy | Maestral) -> None:
@convert_api_errors
def start(foreground: bool, verbose: bool, config_name: str) -> None:
from ..daemon import (
CommunicationError,
MaestralProxy,
Start,
is_running,
start_maestral_daemon,
start_maestral_daemon_process,
wait_for_startup,
is_running,
Start,
CommunicationError,
)

if is_running(config_name):
Expand Down Expand Up @@ -262,9 +261,9 @@ def stop(config_name: str) -> None:
def gui(config_name: str) -> None:
import termios

from packaging.version import Version
from packaging.requirements import Requirement
from importlib_metadata import entry_points, requires, version
from packaging.requirements import Requirement
from packaging.version import Version

# Find all entry points for "maestral_gui" registered by other packages.
gui_entry_points = entry_points(group="maestral_gui")
Expand Down
18 changes: 9 additions & 9 deletions src/maestral/cli/cli_info.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
from __future__ import annotations

import sys
import os
import sys
import time
from datetime import datetime
from typing import TYPE_CHECKING, Tuple

import click
from rich.columns import Columns
from rich.console import Console, ConsoleRenderable
from rich.filesize import decimal
from rich.progress import BarColumn, DownloadColumn, Progress, TaskID, TextColumn
from rich.table import Column
from rich.text import Text
from rich.columns import Columns
from rich.filesize import decimal
from rich.progress import Progress, TextColumn, BarColumn, DownloadColumn, TaskID

from .output import echo, RichDateField, rich_table
from .common import convert_api_errors, check_for_fatal_errors, inject_proxy
from .core import DropboxPath
from ..core import DeletedMetadata, FileMetadata, FolderMetadata
from ..models import SyncDirection, SyncEvent, SyncStatus
from ..core import FileMetadata, FolderMetadata, DeletedMetadata
from .common import check_for_fatal_errors, convert_api_errors, inject_proxy
from .core import DropboxPath
from .output import RichDateField, echo, rich_table

if TYPE_CHECKING:
from ..main import Maestral
Expand Down Expand Up @@ -283,13 +283,13 @@ def ls(m: Maestral, long: bool, dropbox_path: str, include_deleted: bool) -> Non
help="Remove config files without a linked account.",
)
def config_files(clean: bool) -> None:
from ..daemon import is_running
from ..config import (
MaestralConfig,
MaestralState,
list_configs,
remove_configuration,
)
from ..daemon import is_running

if clean:
# Clean up stale config files.
Expand Down
22 changes: 11 additions & 11 deletions src/maestral/cli/cli_main.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
# external imports
import click

# local imports
from .core import OrderedGroup
from .cli_core import start, stop, gui, pause, resume, auth, sharelink
from .cli_info import status, filestatus, activity, history, ls, config_files
from .cli_settings import autostart, excluded, notify, bandwidth_limit
from .. import __version__
from .cli_core import auth, gui, pause, resume, sharelink, start, stop
from .cli_info import activity, config_files, filestatus, history, ls, status
from .cli_maintenance import (
completion,
config,
diff,
log,
move_dir,
rebuild_index,
revs,
diff,
restore,
log,
config,
completion,
revs,
)
from .cli_settings import autostart, bandwidth_limit, excluded, notify

from .. import __version__
# local imports
from .core import OrderedGroup


@click.group(cls=OrderedGroup, help="Dropbox client for Linux and macOS.")
Expand Down
14 changes: 7 additions & 7 deletions src/maestral/cli/cli_maintenance.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
from __future__ import annotations

import os
import io
import ast
import io
import logging
import os
import textwrap
from os import path as osp
from typing import cast, TYPE_CHECKING
from typing import TYPE_CHECKING, cast

import click
from click.shell_completion import get_completion_class
from rich.console import Console
from rich.text import Text

from .cli_core import select_dbx_path_dialog
from .common import convert_api_errors, existing_config_option, inject_proxy
from .core import CliException, ConfigKey, DropboxPath
from .dialogs import confirm, select
from .output import ok, warn, echo, echo_via_pager, RichDateField, rich_table
from .output import RichDateField, echo, echo_via_pager, ok, rich_table, warn
from .utils import get_term_size
from .common import convert_api_errors, existing_config_option, inject_proxy
from .core import DropboxPath, ConfigKey, CliException

if TYPE_CHECKING:
from ..main import Maestral
Expand Down Expand Up @@ -404,7 +404,7 @@ def config_get(m: Maestral, key: str) -> None:
@inject_proxy(fallback=True, existing_config=True)
@convert_api_errors
def config_set(m: Maestral, key: str, value: str) -> None:
from ..config.main import KEY_SECTION_MAP, DEFAULTS_CONFIG
from ..config.main import DEFAULTS_CONFIG, KEY_SECTION_MAP

section = KEY_SECTION_MAP.get(key, "")

Expand Down
4 changes: 2 additions & 2 deletions src/maestral/cli/cli_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

import click

from .output import echo, ok
from .common import convert_api_errors, existing_config_option, inject_proxy
from .core import DropboxPath, CliException
from .core import CliException, DropboxPath
from .output import echo, ok

if TYPE_CHECKING:
from ..main import Maestral
Expand Down
8 changes: 4 additions & 4 deletions src/maestral/cli/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

import functools
import sys
from typing import Callable, Any, TypeVar, TYPE_CHECKING
from typing_extensions import ParamSpec
from typing import TYPE_CHECKING, Any, Callable, TypeVar

import click
from typing_extensions import ParamSpec

from ..constants import DEFAULT_CONFIG_NAME
from .core import ConfigName
from .output import warn
from .utils import get_term_size
from ..constants import DEFAULT_CONFIG_NAME

if TYPE_CHECKING:
from ..daemon import MaestralProxy
Expand Down Expand Up @@ -94,7 +94,7 @@ def inject_proxy(
) -> Callable[[Callable[P, T]], Callable[P, Any]]:
def decorator(f: Callable[P, T]) -> Callable[P, Any]:
def wrapper(*args: P.args, **kwargs: P.kwargs) -> Any:
from ..daemon import MaestralProxy, CommunicationError
from ..daemon import CommunicationError, MaestralProxy

ctx = click.get_current_context()

Expand Down
Loading

0 comments on commit de3bbf7

Please sign in to comment.