Untitled

 avatar
unknown
plain_text
a month ago
2.2 kB
3
Indexable
def _create_default_metrics(self) -> Dict:
    """Create default metrics structure"""
    current_time = datetime.now()
    month = current_time.month
    current_season = 'summer' if 5 <= month <= 8 else 'winter'

    return {
        'basic_metrics': {
            'total_items_sorted': 0,
            'items_sorted_per_bin': {},
            'classification_results': [],
            'sort_timestamps': [],
            'fill_levels_per_bin': {},
            'bin_emptying_counts': {},
            'api_vs_local_usage': {'api': 0, 'local': 0}
        },
        'time_metrics': {
            'daily_usage_counts': {},
            'weekly_usage_counts': {},
            'monthly_usage_counts': {},
            'time_between_sorts': [],
            'time_of_day_patterns': [0] * 24,
            'daily_weekly_monthly_streaks': {
                'daily': 0,
                'weekly': 0,
                'monthly': 0
            },
            'time_to_empty_from_90': [],
            'fill_rate_per_bin': {}
        },
        'short_term_tracking': {
            'items_last_5_minutes': {
                'count': 0,
                'timestamps': []
            },
            'current_sorting_streak': {
                'start_date': None,
                'days': 0,
                'last_sort_date': None
            }
        },
        'hour_coverage': {
            'hours_sorted': [],
            'weekend_streak': {
                'count': 0,
                'dates': []
            }
        },
        'seasonal_tracking': {
            'seasonal_counts': {
                'summer': 0,
                'winter': 0,
            },
            'current_season': current_season,
            'season_start': current_time.isoformat()
        },
        'environmental_impact': {
            'co2_saved': 0.0,
            'trees_saved': 0.0,
            'paper_weight_recycled': 0.0,
            'plastic_weight_recycled': 0.0,
            'organic_weight_processed': 0.0
        },
        'fill_level_history': {},
        'achievements': {},
        'bin_specialization': {}
    }
Leave a Comment