Spaces:
Running on CPU Upgrade
Running on CPU Upgrade
| """ | |
| Utility functions for formatting database values into human-readable labels. | |
| """ | |
| import re | |
| def format_organization_id(org_id: str) -> str: | |
| """ | |
| Convert organization ID to human-readable name. | |
| Examples: | |
| org_board_of_health_douglas_al -> Board of Health - Douglas, AL | |
| org_hamilton_city_council_al -> Hamilton City Council, AL | |
| org_scottsboro_board_of_education_al -> Scottsboro Board of Education, AL | |
| """ | |
| if not org_id: | |
| return "Unknown Organization" | |
| # Remove 'org_' prefix if present | |
| if org_id.startswith('org_'): | |
| org_id = org_id[4:] | |
| # Split by underscores | |
| parts = org_id.split('_') | |
| # Extract state code (last part, should be 2 letters) | |
| state_code = parts[-1].upper() if len(parts) > 0 and len(parts[-1]) == 2 else None | |
| # Remove state code from parts | |
| if state_code: | |
| parts = parts[:-1] | |
| # Capitalize each word | |
| words = [word.capitalize() for word in parts] | |
| # Join words | |
| readable_name = ' '.join(words) | |
| # Add state code if present | |
| if state_code: | |
| readable_name = f"{readable_name}, {state_code}" | |
| return readable_name | |
| def format_role_type(role_type: str) -> str: | |
| """ | |
| Convert role_type to human-readable label. | |
| Examples: | |
| government_official -> Government Official | |
| board_member -> Board Member | |
| executive_director -> Executive Director | |
| """ | |
| if not role_type: | |
| return "Contact" | |
| # Replace underscores with spaces and capitalize each word | |
| return role_type.replace('_', ' ').title() | |
| def format_title(title: str) -> str: | |
| """ | |
| Format title to be more readable. | |
| Examples: | |
| government_official -> Government Official | |
| board_member -> Board Member | |
| MAYOR -> Mayor | |
| """ | |
| if not title: | |
| return "Official" | |
| # If already properly formatted, return as-is | |
| if title[0].isupper() and ' ' in title: | |
| return title | |
| # Replace underscores with spaces and capitalize | |
| return title.replace('_', ' ').title() | |