diff --git a/docs/source/conf.py b/docs/source/conf.py index 42f5c9c6..aca97b66 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -19,7 +19,6 @@ autoclass_content = "both" -import cities_light # -- Project information ----------------------------------------------------- diff --git a/ruff.toml b/ruff.toml new file mode 100644 index 00000000..72fef103 --- /dev/null +++ b/ruff.toml @@ -0,0 +1,77 @@ +# Exclude a variety of commonly ignored directories. +exclude = [ + ".bzr", + ".direnv", + ".eggs", + ".git", + ".git-rewrite", + ".hg", + ".ipynb_checkpoints", + ".mypy_cache", + ".nox", + ".pants.d", + ".pyenv", + ".pytest_cache", + ".pytype", + ".ruff_cache", + ".svn", + ".tox", + ".venv", + ".vscode", + "__pypackages__", + "_build", + "buck-out", + "build", + "dist", + "node_modules", + "site-packages", + "venv", +] + +# Same as Black. +line-length = 88 +indent-width = 4 + +# Assume Python 3.8 +target-version = "py39" + +[lint] +# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default. +# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or +# McCabe complexity (`C901`) by default. +select = ["E4", "E7", "E9", "F"] +ignore = [] + +# Allow fix for all enabled rules (when `--fix`) is provided. +fixable = ["ALL"] +unfixable = [] + +# Allow unused variables when underscore-prefixed. +dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" + +[format] +# Like Black, use double quotes for strings. +quote-style = "double" + +# Like Black, indent with spaces, rather than tabs. +indent-style = "space" + +# Like Black, respect magic trailing commas. +skip-magic-trailing-comma = false + +# Like Black, automatically detect the appropriate line ending. +line-ending = "auto" + +# Enable auto-formatting of code examples in docstrings. Markdown, +# reStructuredText code/literal blocks and doctests are all supported. +# +# This is currently disabled by default, but it is planned for this +# to be opt-out in the future. +docstring-code-format = false + +# Set the line length limit used when formatting code snippets in +# docstrings. +# +# This only has an effect when the `docstring-code-format` setting is +# enabled. +docstring-code-line-length = "dynamic" \ No newline at end of file diff --git a/src/cities_light/__init__.py b/src/cities_light/__init__.py index 8cb355d2..8fe0e8f7 100644 --- a/src/cities_light/__init__.py +++ b/src/cities_light/__init__.py @@ -1,6 +1,15 @@ -from .signals import * -from .exceptions import * -from .settings import * +from .signals import country_items_pre_import, country_items_post_import, \ + region_items_pre_import, region_items_post_import, \ + subregion_items_pre_import, subregion_items_post_import, \ + city_items_pre_import, city_items_post_import, \ + translation_items_pre_import +from .exceptions import CitiesLightException, InvalidItems, SourceFileDoesNotExist +from .settings import FIXTURES_BASE_URL, COUNTRY_SOURCES, REGION_SOURCES, \ + SUBREGION_SOURCES, CITY_SOURCES, TRANSLATION_LANGUAGES, \ + TRANSLATION_SOURCES, SOURCES, DATA_DIR, INDEX_SEARCH_NAMES, \ + INCLUDE_COUNTRIES, INCLUDE_CITY_TYPES, DEFAULT_APP_NAME, \ + CITIES_LIGHT_APP_NAME, ICountry, IRegion, ISubRegion, ICity, \ + IAlternate from . import version __version__ = version.version diff --git a/src/cities_light/migrations/0002_city.py b/src/cities_light/migrations/0002_city.py index 5493645a..0aabf3fd 100644 --- a/src/cities_light/migrations/0002_city.py +++ b/src/cities_light/migrations/0002_city.py @@ -1,6 +1,5 @@ from django.db import models, migrations import autoslug.fields -import cities_light.models from cities_light.settings import INDEX_SEARCH_NAMES diff --git a/src/cities_light/migrations/0003_auto_20141120_0342.py b/src/cities_light/migrations/0003_auto_20141120_0342.py index a3ab75fb..88f31da8 100644 --- a/src/cities_light/migrations/0003_auto_20141120_0342.py +++ b/src/cities_light/migrations/0003_auto_20141120_0342.py @@ -1,4 +1,4 @@ -from django.db import models, migrations +from django.db import migrations import cities_light.models from cities_light.settings import INDEX_SEARCH_NAMES diff --git a/src/cities_light/migrations/0004_autoslug_update.py b/src/cities_light/migrations/0004_autoslug_update.py index 8b24a3bd..06071a68 100644 --- a/src/cities_light/migrations/0004_autoslug_update.py +++ b/src/cities_light/migrations/0004_autoslug_update.py @@ -1,4 +1,4 @@ -from django.db import models, migrations +from django.db import migrations import autoslug.fields diff --git a/src/cities_light/migrations/0006_compensate_for_0003_bytestring_bug.py b/src/cities_light/migrations/0006_compensate_for_0003_bytestring_bug.py index 085a7809..913f8673 100644 --- a/src/cities_light/migrations/0006_compensate_for_0003_bytestring_bug.py +++ b/src/cities_light/migrations/0006_compensate_for_0003_bytestring_bug.py @@ -1,4 +1,4 @@ -from django.db import migrations, models +from django.db import migrations import cities_light.abstract_models from cities_light.settings import INDEX_SEARCH_NAMES diff --git a/src/cities_light/models.py b/src/cities_light/models.py index 710695c5..9825709a 100644 --- a/src/cities_light/models.py +++ b/src/cities_light/models.py @@ -83,7 +83,7 @@ def set_city_fields(sender, instance, items, **kwargs): from .abstract_models import (AbstractCountry, AbstractRegion, AbstractSubRegion, AbstractCity, CONTINENT_CHOICES, - ToSearchTextField, to_search, to_ascii) + to_search, to_ascii) from .signals import * from .receivers import * diff --git a/src/cities_light/tests/test_downloader.py b/src/cities_light/tests/test_downloader.py index 9524afd1..12a4e2f9 100644 --- a/src/cities_light/tests/test_downloader.py +++ b/src/cities_light/tests/test_downloader.py @@ -9,7 +9,6 @@ from cities_light.downloader import Downloader from cities_light.exceptions import SourceFileDoesNotExist -import builtins as b # do not remove class TestDownloader(test.TransactionTestCase):