From 48648620dc3d71bc016046f2af9ecfcbbaedf647 Mon Sep 17 00:00:00 2001 From: Mariano Ramirez Date: Mon, 8 Jul 2024 09:51:15 -0400 Subject: [PATCH] ruff validation --- src/cities_light/__init__.py | 6 +++--- src/cities_light/geonames.py | 2 +- .../management/commands/cities_light.py | 21 ++++++++++++------- src/cities_light/models.py | 13 ++++-------- src/cities_light/receivers.py | 9 +++++--- src/cities_light/tests/test_migrations.py | 6 +++--- test_project/manage.py | 17 +++++---------- 7 files changed, 36 insertions(+), 38 deletions(-) diff --git a/src/cities_light/__init__.py b/src/cities_light/__init__.py index 8fe0e8f7..668b94e0 100644 --- a/src/cities_light/__init__.py +++ b/src/cities_light/__init__.py @@ -2,14 +2,14 @@ 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 + translation_items_pre_import # noqa: F401 +from .exceptions import CitiesLightException, InvalidItems, SourceFileDoesNotExist # noqa: F401 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 + IAlternate # noqa: F401 from . import version __version__ = version.version diff --git a/src/cities_light/geonames.py b/src/cities_light/geonames.py index 929c83bd..cc2add85 100644 --- a/src/cities_light/geonames.py +++ b/src/cities_light/geonames.py @@ -2,7 +2,7 @@ import zipfile import logging -from .settings import * +from .settings import DATA_DIR from .downloader import Downloader diff --git a/src/cities_light/management/commands/cities_light.py b/src/cities_light/management/commands/cities_light.py index e9907404..d46973e1 100644 --- a/src/cities_light/management/commands/cities_light.py +++ b/src/cities_light/management/commands/cities_light.py @@ -9,10 +9,7 @@ if sys.platform != 'win32': import resource -try: - import cPickle as pickle -except ImportError: - import pickle +import pickle from django.conf import settings from django.db import transaction, connection @@ -22,9 +19,19 @@ import progressbar -from ...exceptions import * -from ...signals import * -from ...settings import * +from ...settings import ( + COUNTRY_SOURCES, REGION_SOURCES, SUBREGION_SOURCES, CITY_SOURCES, + TRANSLATION_SOURCES, DATA_DIR, TRANSLATION_LANGUAGES +) +from ...models import ICountry, IRegion, ISubRegion, ICity, IAlternate +from ...signals import ( + country_items_pre_import, region_items_pre_import, + subregion_items_pre_import, city_items_pre_import, + translation_items_pre_import, country_items_post_import, + region_items_post_import, subregion_items_post_import, + city_items_post_import +) +from ...exceptions import InvalidItems from ...geonames import Geonames from ...loading import get_cities_models from ...validators import timezone_validator diff --git a/src/cities_light/models.py b/src/cities_light/models.py index 9825709a..fa0b4dbb 100644 --- a/src/cities_light/models.py +++ b/src/cities_light/models.py @@ -85,15 +85,10 @@ def set_city_fields(sender, instance, items, **kwargs): CONTINENT_CHOICES, to_search, to_ascii) -from .signals import * -from .receivers import * -from .settings import * - -__all__ = ['CONTINENT_CHOICES', 'to_search', 'to_ascii', 'filter_non_cities', - 'filter_non_included_countries_country', - 'filter_non_included_countries_region', - 'filter_non_included_countries_subregion', - 'filter_non_included_countries_city'] +from .receivers import connect_default_signals +from .settings import CITIES_LIGHT_APP_NAME, DEFAULT_APP_NAME + +__all__ = ['CONTINENT_CHOICES', 'to_search', 'to_ascii'] if CITIES_LIGHT_APP_NAME == DEFAULT_APP_NAME: class Country(AbstractCountry): diff --git a/src/cities_light/receivers.py b/src/cities_light/receivers.py index 095933d7..1dcbcbe8 100644 --- a/src/cities_light/receivers.py +++ b/src/cities_light/receivers.py @@ -1,8 +1,11 @@ from django.db.models import signals from .abstract_models import to_ascii, to_search -from .settings import * -from .signals import * -from .exceptions import * +from .settings import INCLUDE_CITY_TYPES, INCLUDE_COUNTRIES +from .signals import ( + city_items_pre_import, country_items_pre_import, region_items_pre_import, + subregion_items_pre_import, InvalidItems, +) + def set_name_ascii(sender, instance=None, **kwargs): diff --git a/src/cities_light/tests/test_migrations.py b/src/cities_light/tests/test_migrations.py index 848c503c..37c3c5c5 100644 --- a/src/cities_light/tests/test_migrations.py +++ b/src/cities_light/tests/test_migrations.py @@ -1,5 +1,3 @@ -import unittest - from django import test from django.apps import apps from django.db.migrations.autodetector import MigrationAutodetector @@ -7,13 +5,15 @@ from django.db.migrations.questioner import ( InteractiveMigrationQuestioner, ) from django.db.migrations.state import ProjectState +import logging +logger = logging.getLogger(__name__) class TestNoMigrationLeft(test.TestCase): - @unittest.skip("TODO: make the test pass") def test_no_migration_left(self): loader = MigrationLoader(None, ignore_no_migrations=True) conflicts = loader.detect_conflicts() + logger.error(conflicts) app_labels = ['cities_light'] autodetector = MigrationAutodetector( diff --git a/test_project/manage.py b/test_project/manage.py index 7646e463..7ff0e96b 100755 --- a/test_project/manage.py +++ b/test_project/manage.py @@ -7,16 +7,9 @@ try: from django.core.management import execute_from_command_line except ImportError: - # The above import may fail for some other reason. Ensure that the - # issue is really that Django is missing to avoid masking other - # exceptions on Python 2. - try: - import django - except ImportError: - raise ImportError( - "Couldn't import Django. Are you sure it's installed and " - "available on your PYTHONPATH environment variable? Did you " - "forget to activate a virtual environment?" - ) - raise + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) execute_from_command_line(sys.argv)