Changeset View
Changeset View
Standalone View
Standalone View
release/scripts/modules/bpy/path.py
| Show First 20 Lines • Show All 195 Lines • ▼ Show 20 Lines | |||||
| _display_name_literals = { | _display_name_literals = { | ||||
| ":": "_colon_", | ":": "_colon_", | ||||
| "+": "_plus_", | "+": "_plus_", | ||||
| } | } | ||||
| def display_name(name, *, has_ext=True): | def display_name(name, *, has_ext=True, title_case=True): | ||||
| """ | """ | ||||
| Creates a display string from name to be used menus and the user interface. | Creates a display string from name to be used menus and the user interface. | ||||
| Capitalize the first letter in all lowercase names, | Intended for use with filenames and module names. | ||||
| mixed case names are kept as is. Intended for use with | |||||
| filenames and module names. | :arg has_ext: Remove file extension from name | ||||
| :arg title_case: Convert lowercase names to title case | |||||
| """ | """ | ||||
natecraddock: Try not to change unnecessary whitespace | |||||
| if has_ext: | if has_ext: | ||||
| name = _os.path.splitext(basename(name))[0] | name = _os.path.splitext(basename(name))[0] | ||||
| # string replacements | # string replacements | ||||
| for disp_value, file_value in _display_name_literals.items(): | for disp_value, file_value in _display_name_literals.items(): | ||||
| name = name.replace(file_value, disp_value) | name = name.replace(file_value, disp_value) | ||||
| # strip to allow underscore prefix | # strip to allow underscore prefix | ||||
| # (when paths can't start with numbers for eg). | # (when paths can't start with numbers for eg). | ||||
| name = name.replace("_", " ").lstrip(" ") | name = name.replace("_", " ").lstrip(" ") | ||||
| if name.islower(): | if title_case and name.islower(): | ||||
| name = name.lower().title() | name = name.lower().title() | ||||
| name = _clean_utf8(name) | name = _clean_utf8(name) | ||||
| return name | return name | ||||
| def display_name_to_filepath(name): | def display_name_to_filepath(name): | ||||
| """ | """ | ||||
| ▲ Show 20 Lines • Show All 191 Lines • Show Last 20 Lines | |||||
Try not to change unnecessary whitespace