def _read_all_attribute_info(self):
num = copy.deepcopy(self._num_attrs)<EOL>fname = copy.deepcopy(self.fname)<EOL>out = fortran_cdf.inquire_all_attr(fname, num, len(fname))<EOL>status = out[<NUM_LIT:0>]<EOL>names = out[<NUM_LIT:1>].astype('<STR_LIT>')<EOL>scopes = out[<NUM_LIT:2>]<EOL>max_gentries = out[<NUM_LIT:3>]<EOL>max_rentries = out[<NUM_LIT:4>]<EOL>max_zentries = out[<NUM_LIT:5>]<EOL>attr_nums = out[<NUM_LIT:6>]<EOL>global_attrs_info = {}<EOL>var_attrs_info = {}<EOL>if status == <NUM_LIT:0>:<EOL><INDENT>for name, scope, gentry, rentry, zentry, num in zip(names, scopes, max_gentries,<EOL>max_rentries, max_zentries,<EOL>attr_nums):<EOL><INDENT>name = '<STR_LIT>'.join(name)<EOL>name = name.rstrip()<EOL>nug = {}<EOL>nug['<STR_LIT>'] = scope<EOL>nug['<STR_LIT>'] = gentry<EOL>nug['<STR_LIT>'] = rentry<EOL>nug['<STR_LIT>'] = zentry<EOL>nug['<STR_LIT>'] = num<EOL>flag = (gentry == <NUM_LIT:0>) & (rentry == <NUM_LIT:0>) & (zentry == <NUM_LIT:0>)<EOL>if not flag:<EOL><INDENT>if scope == <NUM_LIT:1>:<EOL><INDENT>global_attrs_info[name] = nug<EOL><DEDENT>elif scope == <NUM_LIT:2>:<EOL><INDENT>var_attrs_info[name] = nug<EOL><DEDENT><DEDENT><DEDENT>self.global_attrs_info = global_attrs_info<EOL>self.var_attrs_info = var_attrs_info<EOL><DEDENT>else:<EOL><INDENT>raise IOError(fortran_cdf.statusreporter(status))<EOL><DEDENT>
Read all attribute properties, g, r, and z attributes