From 950954a3dbda8e9d2a689b2e2d3f78e1f7166e11 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 21 Mar 2024 12:06:28 -0400 Subject: [PATCH] Move title() from utilities.utils to utilities.string --- netbox/netbox/search/backends.py | 3 ++- netbox/netbox/tables/tables.py | 3 ++- netbox/utilities/api.py | 3 ++- netbox/utilities/string.py | 10 ++++++++++ netbox/utilities/templatetags/builtins/filters.py | 3 ++- netbox/utilities/utils.py | 8 +------- 6 files changed, 19 insertions(+), 11 deletions(-) create mode 100644 netbox/utilities/string.py diff --git a/netbox/netbox/search/backends.py b/netbox/netbox/search/backends.py index a9e867b9f..f9ccdcd39 100644 --- a/netbox/netbox/search/backends.py +++ b/netbox/netbox/search/backends.py @@ -15,7 +15,8 @@ from core.models import ObjectType from extras.models import CachedValue, CustomField from netbox.registry import registry from utilities.querysets import RestrictedPrefetch -from utilities.utils import content_type_identifier, title +from utilities.string import title +from utilities.utils import content_type_identifier from . import FieldTypes, LookupTypes, get_indexer DEFAULT_LOOKUP_TYPE = LookupTypes.PARTIAL diff --git a/netbox/netbox/tables/tables.py b/netbox/netbox/tables/tables.py index 31502f6c5..f695015e9 100644 --- a/netbox/netbox/tables/tables.py +++ b/netbox/netbox/tables/tables.py @@ -17,7 +17,8 @@ from extras.models import CustomField, CustomLink from netbox.registry import registry from netbox.tables import columns from utilities.paginator import EnhancedPaginator, get_paginate_count -from utilities.utils import get_viewname, highlight_string, title +from utilities.string import title +from utilities.utils import get_viewname, highlight_string from .template_code import * __all__ = ( diff --git a/netbox/utilities/api.py b/netbox/utilities/api.py index 06f6c4c4f..685f3f2bd 100644 --- a/netbox/utilities/api.py +++ b/netbox/utilities/api.py @@ -11,7 +11,8 @@ from rest_framework.views import get_view_name as drf_get_view_name from extras.constants import HTTP_CONTENT_TYPE_JSON from netbox.api.exceptions import GraphQLTypeNotFound, SerializerNotFound from netbox.api.fields import RelatedObjectCountField -from .utils import count_related, dict_to_filter_params, dynamic_import, title +from .string import title +from .utils import count_related, dict_to_filter_params, dynamic_import __all__ = ( 'get_annotations_for_serializer', diff --git a/netbox/utilities/string.py b/netbox/utilities/string.py new file mode 100644 index 000000000..cacc97515 --- /dev/null +++ b/netbox/utilities/string.py @@ -0,0 +1,10 @@ +__all__ = ( + 'title', +) + + +def title(value): + """ + Improved implementation of str.title(); retains all existing uppercase letters. + """ + return ' '.join([w[0].upper() + w[1:] for w in str(value).split()]) diff --git a/netbox/utilities/templatetags/builtins/filters.py b/netbox/utilities/templatetags/builtins/filters.py index d18524965..852accc78 100644 --- a/netbox/utilities/templatetags/builtins/filters.py +++ b/netbox/utilities/templatetags/builtins/filters.py @@ -12,7 +12,8 @@ from markdown.extensions.tables import TableExtension from netbox.config import get_config from utilities.markdown import StrikethroughExtension -from utilities.utils import clean_html, foreground_color, title +from utilities.string import title +from utilities.utils import clean_html, foreground_color __all__ = ( 'bettertitle', diff --git a/netbox/utilities/utils.py b/netbox/utilities/utils.py index 5a25b4465..3b9b12049 100644 --- a/netbox/utilities/utils.py +++ b/netbox/utilities/utils.py @@ -26,13 +26,7 @@ from netbox.config import get_config from netbox.plugins import PluginConfig from utilities.constants import HTTP_REQUEST_META_SAFE_COPY from .constants import HTML_ALLOWED_ATTRIBUTES, HTML_ALLOWED_TAGS - - -def title(value): - """ - Improved implementation of str.title(); retains all existing uppercase letters. - """ - return ' '.join([w[0].upper() + w[1:] for w in str(value).split()]) +from .string import title def get_viewname(model, action=None, rest_api=False):