"""Language Model.""" from sqlalchemy import Boolean from sqlalchemy import Column from sqlalchemy import String from backend.connectors import mysql from backend.constants import track_field as tf class Language(mysql.BaseModel): """Represents language table in art_relations DB.""" __tablename__ = 'language' language_code = Column( tf.LANGUAGE_CODE, String(8), primary_key=True, nullable=False ) language = Column( tf.LANGUAGE_NAME, String(100), nullable=False ) iso_639_1_code = Column( tf.LANGUAGE_ISO_639_1_CODE, String(2) ) iso_code_639_3_code = Column( tf.LANGUAGE_ISO_CODE_639_3_CODE, String(3) ) apple_compatible = Column( tf.LANGUAGE_APPLE_COMPATIBLE, Boolean() ) def to_dict(self): """Format the properties of this language object as a dict.""" return { tf.LANGUAGE_CODE: self.language_code, tf.LANGUAGE_ISO_639_1_CODE: self.iso_639_1_code if self.iso_639_1_code else '', tf.LANGUAGE_ISO_CODE_639_3_CODE: self.iso_code_639_3_code if self.iso_code_639_3_code else '', tf.LANGUAGE_NAME: self.language, tf.LANGUAGE_APPLE_COMPATIBLE: self.apple_compatible }