Skip to main content

Overview

The CaseConverter class provides static methods for transforming text case in metadata fields. It supports common case conversions including title case, sentence case, uppercase, and lowercase.

Import

from tagqt.core.case import CaseConverter

Methods

to_title_case

Converts text to title case (capitalizes the first letter of each word).
@staticmethod
def to_title_case(text: str) -> str
text
str
required
The text to convert
Returns: Text in title case, or empty string if input is empty Example:
result = CaseConverter.to_title_case("bohemian rhapsody")
print(result)  # "Bohemian Rhapsody"

result = CaseConverter.to_title_case("the dark side of the moon")
print(result)  # "The Dark Side Of The Moon"

to_sentence_case

Converts text to sentence case (capitalizes only the first letter).
@staticmethod
def to_sentence_case(text: str) -> str
text
str
required
The text to convert
Returns: Text in sentence case, or empty string if input is empty Example:
result = CaseConverter.to_sentence_case("HELLO WORLD")
print(result)  # "Hello world"

result = CaseConverter.to_sentence_case("the BEATLES")
print(result)  # "The beatles"

to_upper_case

Converts all characters to uppercase.
@staticmethod
def to_upper_case(text: str) -> str
text
str
required
The text to convert
Returns: Text in uppercase, or empty string if input is empty Example:
result = CaseConverter.to_upper_case("Hello World")
print(result)  # "HELLO WORLD"

result = CaseConverter.to_upper_case("stairway to heaven")
print(result)  # "STAIRWAY TO HEAVEN"

to_lower_case

Converts all characters to lowercase.
@staticmethod
def to_lower_case(text: str) -> str
text
str
required
The text to convert
Returns: Text in lowercase, or empty string if input is empty Example:
result = CaseConverter.to_lower_case("HOTEL CALIFORNIA")
print(result)  # "hotel california"

result = CaseConverter.to_lower_case("The Wall")
print(result)  # "the wall"

Usage Example

Applying case conversion to metadata:
from tagqt.core.tags import MetadataHandler
from tagqt.core.case import CaseConverter

metadata = MetadataHandler("song.flac")

# Convert title to title case
metadata.title = CaseConverter.to_title_case(metadata.title)

# Convert artist to sentence case
metadata.artist = CaseConverter.to_sentence_case(metadata.artist)

# Convert album to uppercase
metadata.album = CaseConverter.to_upper_case(metadata.album)

metadata.save()

Notes

  • All methods are static and do not require instantiation
  • Methods safely handle empty or None input by returning an empty string
  • The to_title_case implementation uses Python’s built-in str.title() method
  • Case conversion does not modify the original text; it returns a new string

Build docs developers (and LLMs) love