| import re | |
| from datetime import datetime | |
| def format_date(date_str): | |
| """Format a date string into a human-readable format.""" | |
| try: | |
| date_obj = datetime.strptime(date_str, "%Y-%m-%d") | |
| return date_obj.strftime("%b %d, %Y") | |
| except ValueError: | |
| return date_str | |
| def extract_hashtags(text): | |
| """Extract hashtags from a given text.""" | |
| return re.findall(r"#\w+", text) | |
| def calculate_sentiment_score(sentiment_data): | |
| """Calculate an overall sentiment score from sentiment data.""" | |
| if not sentiment_data: | |
| return 0 | |
| return sum(sentiment_data.values()) / len(sentiment_data) | |
| def paginate(query, page, per_page=10): | |
| """Paginate a SQLAlchemy query.""" | |
| return query.paginate(page=page, per_page=per_page, error_out=False) |