/
Dobryk
/
PIR3
Обзор
Документация
Войти
/
Dobryk
/
PIR3
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
classes.py
61 строка
2 KB
Dobryk
first_commit
25 дек 2025, 12:21
25 дек 2025, 12:21
0ef1131
Код
Авторство
О чём код?
from dataclasses import dataclass from datetime import datetime from typing import Any, Dict, Optional @dataclass class ShoppingList: id: str title: str created_at: datetime items_count: Optional[int] = None @classmethod def from_dict(cls, data: Dict[str, Any]) -> 'ShoppingList': return cls( id=data['id'], title=data['title'], created_at=datetime.fromisoformat(data['createdAt'].replace('Z', '+00:00')), items_count=data.get('itemsCount') ) @dataclass class ShoppingListItem: id: str name: str quantity: int is_purchased: bool list_id: str notes: Optional[str] = None @classmethod def from_dict(cls, data: Dict[str, Any], list_id: Optional[str] = None) -> 'ShoppingListItem': resolved_list_id = data.get('listId', list_id) if resolved_list_id is None: resolved_list_id = "" return cls( id=data['id'], name=data['name'], quantity=data['quantity'], is_purchased=data.get('isPurchased', False), list_id=resolved_list_id, notes=data.get('notes') ) def to_dict(self) -> Dict[str, Any]: data = { 'id': self.id, 'name': self.name, 'quantity': self.quantity, 'isPurchased': self.is_purchased, 'listId': self.list_id } if self.notes is not None: data['notes'] = self.notes return data