def _read_config(self):
this_dir = os.path.dirname(__file__)        <EOL>config_file = os.path.abspath(os.path.join(this_dir, "<STR_LIT:..>", "<STR_LIT>", "<STR_LIT>"))<EOL>self.generic_enum_attrs = []<EOL>self.base_attrs = []<EOL>self.generic_enums = []<EOL>self.named_entity_attrs = []<EOL>self.overide_generic_enums = []<EOL>self.enum_attrs_for_locale = {}<EOL>self.generic_enum_attrs_for_locale = {}<EOL>self.list_subtypes_generic = []<EOL>Printer.log("<STR_LIT>" % (config_file))<EOL>if (os.path.isfile(config_file)):<EOL><INDENT>with open(config_file, '<STR_LIT:r>') as input_json:<EOL><INDENT>json_config_data = json.load(input_json) <EOL><DEDENT>self.base_attrs = json_config_data['<STR_LIT>']<EOL>self.generic_enums =  json_config_data['<STR_LIT>']<EOL>self.named_entity_attrs = json_config_data['<STR_LIT>']<EOL>self.overide_generic_enums = json_config_data['<STR_LIT>']<EOL>self.list_subtypes_generic = json_config_data['<STR_LIT>']<EOL>for enum_name, values in self.generic_enums.iteritems():<EOL><INDENT>enum_attr =  SpecificationAttribute()<EOL>enum_attr.name = enum_name<EOL>enum_attr.allowed_choices = values<EOL>self.generic_enum_attrs.append(enum_attr)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>Printer.log("<STR_LIT>" % (config_file))<EOL><DEDENT>
This method reads provided json config file.