Source code for cannabis_reports.models.strain

# -*- coding: utf-8 -*-
# Copyright 2017-TODAY LasLabs Inc.
# License MIT (https://opensource.org/licenses/MIT).

import properties

from ..base_model import BaseModel, GeneralOverview, LineageModel

from .seed_company import SeedCompany


[docs]class StrainGenetics(BaseModel): """Object that holds information about the genetics for the strain.""" names = properties.String( 'Genetics name. `More information <https://www.cannabisreports.com/' 'faq/cannabis-genetics/how-do-you-read-cannabis-genetics>`_.', ) link = properties.String( 'Link to the genetic listing in the Cannabis Reports API.', )
[docs]class Strain(LineageModel): """Cannabis strains are the various cultivars available for the cannabis family. Thousands of years of human domestication and breeding of cannabis strains have resulted in a huge variety of attributes that we know and love today. `Wikipedia Definition <http://en.wikipedia.org/wiki/Cultivar>`_ Over time, strain names have been used by various companies in their attempts to recreate the results of other breeders. Cannabis Reports identifies strains not only by their name, but by their seed company as well, to ensure they are all properly represented. """ name = properties.String( 'Name of the cannabis strain.', ) seed_company = properties.Instance( 'Information about the seed company that created or provides the ' 'strain.', instance_class=SeedCompany, ) genetics = properties.Instance( 'Object that holds information about the genetics for the strain.', instance_class=StrainGenetics, ) children = properties.Instance( 'Object that holds information about the children for the strain.', instance_class=GeneralOverview, ) reviews = properties.Instance( 'Object that holds information about the reviews for the strain.', instance_class=GeneralOverview, )