pycarol.tools.data_model_generator

This tool helps to DataModels from json files.

class pycarol.tools.data_model_generator.DataModelGenerator(carol)[source]

This class will create a Datamodel from a python dictionary. Today, it is not allowed nested fileds in the dictionary.

Usage:

from pycarol import PwdAuth
from pycarol.carol import Carol
from pycarol.utils.data_model_generator import DataModelGenerator

json_sample = {'atende_sus': 'Sim',
               'estabelecimento': 'Hospital Raimundo Chaar',
               'existente': '42',
               'tipo_do_estabelecimento': '05 - Hospital Geral',
               'tipo_do_estabelecimento_resumo': 'Hospitais',
               'uf': 'AC'}

login = Carol('foo_tenant, 'foo', auth=PwdAuth('foo@totvs.com.br', 'foo123'))
la = DataModelGenerator(login)
la.start(json_sample, dm_name='hfair', profile_title='estabelecimento', publish=True, overwrite=True)
start(json_sample, dm_name, publish=True, profile_title=None, overwrite=False, vertical_ids=None, vertical_names='retail', entity_template_type_ids=None, entity_template_type_names='product', dm_label=None, group_name='Others', transaction_dm=False, ignore_field_type=False)[source]

Start the process.

Parameters
  • json_sampledict Dictionary with key and values to be used as template for the data model

  • dm_namestr Data model name

  • publishbool default True Publish the data model at the end.

  • profile_titlelist default None Carol’s Profile title. It should be an field in json_sample

  • overwritebool default False Overwrite if the data model already exists

  • vertical_idsstr default None Vertical ID for the data model. either vertical_ids

  • vertical_namesstr default retail Vertical Name for the data model. either vertical_ids

  • entity_template_type_idsstr default None Data model template type id

  • entity_template_type_namesstr default product Data model template type name

  • dm_labelstr default None Label for the data model

  • group_namestr default Others Group name for the data model

  • transaction_dmbool default False Transaction Data model

  • ignore_field_typebool default False Ignore filed type when creating the data model. It means that any type conflict will be ignored. pycarol will use the one that already exists.

Returns

None