from import_export import resources
from import_export.fields import Field
from widgets import DateutilDateTimeWidget, FuzzyLookupWidget
from markets.models import Market, MarketPrice
from agri.models import Commodity


class MarketPriceResource(resources.ModelResource):
    """ A market price record from a NAFIS-provided csv file.
    """

    commodity = Field(attribute='commodity', column_name='Commodity',
                      widget=FuzzyLookupWidget(model=Commodity,
                                               lookup_field='name'))
    market = Field(attribute='market', column_name='Market',
                   widget=FuzzyLookupWidget(model=Market,
                                            lookup_field='name'))

    date = Field(attribute='date', column_name='Date',
                 widget=DateutilDateTimeWidget())
    capacity = Field(attribute='amount', column_name='Capacity')
    unit = Field(attribute='unit', column_name='Unit')
    price = Field(attribute='price', column_name='Price')

    class Meta:
        model = MarketPrice