Source code for richy.shares.forms

from django import forms
from django.utils.translation import gettext as _

from ..core.forms import BaseUserItemForm
from ..core.scraper import Manager
from .models import Share


[docs] class UserShareForm(BaseUserItemForm): item_model = Share
[docs] def clean_symbol(self): symbol = super().clean_symbol() if not symbol: return symbol df = Manager.fetch_share_prices(Share(symbol=symbol), "1d") if df.empty: raise forms.ValidationError(_("Unknown symbol (according to YFinance).")) return symbol