Move title() from utilities.utils to utilities.string

This commit is contained in:
Jeremy Stretch 2024-03-21 12:06:28 -04:00
parent 73bb175afa
commit 950954a3db
6 changed files with 19 additions and 11 deletions

View File

@ -15,7 +15,8 @@ from core.models import ObjectType
from extras.models import CachedValue, CustomField from extras.models import CachedValue, CustomField
from netbox.registry import registry from netbox.registry import registry
from utilities.querysets import RestrictedPrefetch 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 from . import FieldTypes, LookupTypes, get_indexer
DEFAULT_LOOKUP_TYPE = LookupTypes.PARTIAL DEFAULT_LOOKUP_TYPE = LookupTypes.PARTIAL

View File

@ -17,7 +17,8 @@ from extras.models import CustomField, CustomLink
from netbox.registry import registry from netbox.registry import registry
from netbox.tables import columns from netbox.tables import columns
from utilities.paginator import EnhancedPaginator, get_paginate_count 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 * from .template_code import *
__all__ = ( __all__ = (

View File

@ -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 extras.constants import HTTP_CONTENT_TYPE_JSON
from netbox.api.exceptions import GraphQLTypeNotFound, SerializerNotFound from netbox.api.exceptions import GraphQLTypeNotFound, SerializerNotFound
from netbox.api.fields import RelatedObjectCountField 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__ = ( __all__ = (
'get_annotations_for_serializer', 'get_annotations_for_serializer',

View File

@ -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()])

View File

@ -12,7 +12,8 @@ from markdown.extensions.tables import TableExtension
from netbox.config import get_config from netbox.config import get_config
from utilities.markdown import StrikethroughExtension 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__ = ( __all__ = (
'bettertitle', 'bettertitle',

View File

@ -26,13 +26,7 @@ from netbox.config import get_config
from netbox.plugins import PluginConfig from netbox.plugins import PluginConfig
from utilities.constants import HTTP_REQUEST_META_SAFE_COPY from utilities.constants import HTTP_REQUEST_META_SAFE_COPY
from .constants import HTML_ALLOWED_ATTRIBUTES, HTML_ALLOWED_TAGS from .constants import HTML_ALLOWED_ATTRIBUTES, HTML_ALLOWED_TAGS
from .string import 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()])
def get_viewname(model, action=None, rest_api=False): def get_viewname(model, action=None, rest_api=False):