Ejemplo n.º 1
0
    def load_types_from_file(cls, file_name='attribute_types.json'):
        count = 0
        file_path = os.path.abspath(
            os.path.join(__file__, os.path.pardir, 'data', file_name))

        with open(file_path, 'r') as fp:

            attribute_types = json.load(fp)

            for attribute_type in attribute_types:
                attribute_name = attribute_type['name']
                name_i18n = f'attribute.{attribute_name}'

                for locale in attribute_type['locales']:
                    locale_code = locale['locale_code']
                    if not db.session.query(I18NLocale).get(locale_code):
                        db.session.add(I18NLocale(code=locale_code, desc=''))
                    i18n_create(name_i18n,
                                locale['locale_code'],
                                locale['name'],
                                description=f"Attribute type {attribute_name}")
                count += 1
            db.session.commit()
            fp.close()
            return count
Ejemplo n.º 2
0
    def load_from_file(cls, file_name='roles.json'):
        count = 0
        file_path = os.path.abspath(
            os.path.join(__file__, os.path.pardir, 'data', file_name))

        with open(file_path, 'r') as fp:
            if db.session.query(Role).count() == 0:

                roles = json.load(fp)

                for role in roles:
                    role_name = role['name']
                    name_i18n = f'role.{role_name}'

                    for locale in role['locales']:
                        locale_code = locale['locale_code']
                        if not db.session.query(I18NLocale).get(locale_code):
                            db.session.add(
                                I18NLocale(code=locale_code, desc=''))
                        i18n_create(name_i18n,
                                    locale['locale_code'],
                                    locale['name'],
                                    description=f"Role {role_name}")
                    db.session.add(cls(name_i18n=name_i18n, active=True))
                    count += 1
                db.session.commit()
            fp.close()
            return count
        return 0
Ejemplo n.º 3
0
    def load_from_file(cls,
                       file_name='country-codes.json',
                       locale_code='en-US'):
        count = 0
        file_path = os.path.abspath(
            os.path.join(__file__, os.path.pardir, 'data', file_name))

        if not db.session.query(I18NLocale).get(locale_code):
            db.session.add(I18NLocale(code=locale_code, desc='English US'))

        with open(file_path, 'r') as fp:
            countries = json.load(fp)

            for country in countries:
                country_code = country['Code']
                country_name = country['Name']

                name_i18n = f'country.name.{country_code}'
                i18n_create(name_i18n,
                            locale_code,
                            country_name,
                            description=f"Country {country_name}")

                db.session.add(cls(code=country_code, name_i18n=name_i18n))
                count += 1
            db.session.commit()
        return count
Ejemplo n.º 4
0
def enumerated_value_factory(sqla):
    """Create a fake enumerated value."""
    attributes = sqla.query(Attribute).all()
    if not attributes:
        create_multiple_attributes(sqla, 5, 1)
        attributes = sqla.query(Attribute).all()
    value_string = rl_fake().name()
    value_i18n = f'enumerated.{value_string}'[:32]

    locale_code = 'en-US'
    if not sqla.query(I18NLocale).get(locale_code):
        sqla.add(I18NLocale(code=locale_code, desc='English US'))

    if not sqla.query(I18NKey).get(value_i18n):
        i18n_create(value_i18n,
                    locale_code,
                    value_string,
                    description=f"Enum Value {value_string}")

    enumerated_value = {
        'attributeId': random.choice(attributes).id,
        'valueI18n': value_i18n,
        'active': flip()
    }
    return enumerated_value
Ejemplo n.º 5
0
    def load_from_file(cls, file_name='country-codes.json'):
        count = 0
        file_path = os.path.abspath(
            os.path.join(__file__, os.path.pardir, 'data', file_name))

        with open(file_path, 'r') as fp:
            countries = json.load(fp)

            for country in countries:
                country_code = country['Code']
                country_name = country['Name']

                name_i18n = f'country.name.{country_code}'

                for locale in country['locales']:
                    locale_code = locale['locale_code']  # e.g., en-US
                    if not db.session.query(I18NLocale).get(locale_code):
                        # Don't have this locale code
                        db.session.add(I18NLocale(code=locale_code, desc=''))

                    if not i18n_check(name_i18n, locale_code):
                        # Don't have this country
                        i18n_create(name_i18n,
                                    locale_code,
                                    locale['name'],
                                    description=f"Country {country_name}")

                # Add to the Country table.
                if not db.session.query(cls).filter_by(
                        code=country_code).count():
                    db.session.add(cls(code=country_code, name_i18n=name_i18n))
                    count += 1
            db.session.commit()
        fp.close()
        return count
Ejemplo n.º 6
0
def add_attribute_type(name, sqla, locale_code):
    type_i18n = f'attribute.type.{name}'

    if not sqla.query(I18NLocale).get(locale_code):
        sqla.add(I18NLocale(code=locale_code, desc='English US'))

    if not sqla.query(I18NKey).get(type_i18n):
        i18n_create(type_i18n, 'en-US', name, description=f"Type {name}")
Ejemplo n.º 7
0
def add_i18n_code(name, sqla, locale_code, name_i18n):
    if not sqla.query(I18NLocale).get(locale_code):
        sqla.add(I18NLocale(code=locale_code, desc=''))

    try:
        i18n_create(name_i18n, locale_code, name, description=f"Type {name}")
    except:
        # entry is already in value table
        pass

    return name_i18n