pypet/storageservice.py
def _prm_read_table(self, table_or_group, full_name):
        """Reads a non-nested PyTables table column by column and created a new ObjectTable for
        the loaded data.

        :param table_or_group:

            PyTables table to read from or a group containing subtables.

        :param full_name:

            Full name of the parameter or result whose data is to be loaded

        :return:

            Data to be loaded

        """
        try:
            result_table = None

            if self._all_get_from_attrs(table_or_group, HDF5StorageService.SPLIT_TABLE):
                table_name = table_or_group._v_name

                data_type_table_name = table_name + '__' + HDF5StorageService.STORAGE_TYPE

                data_type_table = table_or_group._v_children[data_type_table_name]
                data_type_dict = {}


                for row in data_type_table:
                    fieldname = row['field_name'].decode('utf-8')
                    data_type_dict[fieldname] = row['data_type'].decode('utf-8')

                for sub_table in table_or_group:
                    sub_table_name = sub_table._v_name

                    if sub_table_name == data_type_table_name:
                        continue

                    for colname in sub_table.colnames:
                        # Read Data column by column
                        col = sub_table.col(colname)
                        data_list = list(col)

                        prefix = HDF5StorageService.FORMATTED_COLUMN_PREFIX % colname
                        for idx, data in enumerate(data_list):
                            # Recall original type of data
                            data, type_changed = self._all_recall_native_type(data,
                                                                              PTItemMock(
                                                                                  data_type_dict),
                                                                              prefix)
                            if type_changed:
                                data_list[idx] = data
                            else:
                                break

                        # Construct or insert into an ObjectTable
                        if result_table is None:
                            result_table = ObjectTable(data={colname: data_list})
                        else:
                            result_table[colname] = data_list

            else:
                for colname in table_or_group.colnames:
                    # Read Data column by column
                    col = table_or_group.col(colname)
                    data_list = list(col)

                    prefix = HDF5StorageService.FORMATTED_COLUMN_PREFIX % colname
                    for idx, data in enumerate(data_list):
                        # Recall original type of data
                        data, type_changed = self._all_recall_native_type(data, table_or_group,
                                                                          prefix)
                        if type_changed:
                            data_list[idx] = data
                        else:
                            break

                    # Construct or insert into an ObjectTable
                    if result_table is None:
                        result_table = ObjectTable(data={colname: data_list})
                    else:
                        result_table[colname] = data_list

            return result_table
        except:
            self._logger.error(
                'Failed loading `%s` of `%s`.' % (table_or_group._v_name, full_name))
            raise
def _prm_read_table(self, table_or_group, full_name):
        try:
            result_table = None

            if self._all_get_from_attrs(table_or_group, HDF5StorageService.SPLIT_TABLE):
                table_name = table_or_group._v_name

                data_type_table_name = table_name + '__' + HDF5StorageService.STORAGE_TYPE

                data_type_table = table_or_group._v_children[data_type_table_name]
                data_type_dict = {}


                for row in data_type_table:
                    fieldname = row['field_name'].decode('utf-8')
                    data_type_dict[fieldname] = row['data_type'].decode('utf-8')

                for sub_table in table_or_group:
                    sub_table_name = sub_table._v_name

                    if sub_table_name == data_type_table_name:
                        continue

                    for colname in sub_table.colnames:
                        # Read Data column by column
                        col = sub_table.col(colname)
                        data_list = list(col)

                        prefix = HDF5StorageService.FORMATTED_COLUMN_PREFIX % colname
                        for idx, data in enumerate(data_list):
                            # Recall original type of data
                            data, type_changed = self._all_recall_native_type(data,
                                                                              PTItemMock(
                                                                                  data_type_dict),
                                                                              prefix)
                            if type_changed:
                                data_list[idx] = data
                            else:
                                break

                        # Construct or insert into an ObjectTable
                        if result_table is None:
                            result_table = ObjectTable(data={colname: data_list})
                        else:
                            result_table[colname] = data_list

            else:
                for colname in table_or_group.colnames:
                    # Read Data column by column
                    col = table_or_group.col(colname)
                    data_list = list(col)

                    prefix = HDF5StorageService.FORMATTED_COLUMN_PREFIX % colname
                    for idx, data in enumerate(data_list):
                        # Recall original type of data
                        data, type_changed = self._all_recall_native_type(data, table_or_group,
                                                                          prefix)
                        if type_changed:
                            data_list[idx] = data
                        else:
                            break

                    # Construct or insert into an ObjectTable
                    if result_table is None:
                        result_table = ObjectTable(data={colname: data_list})
                    else:
                        result_table[colname] = data_list

            return result_table
        except:
            self._logger.error(
                'Failed loading `%s` of `%s`.' % (table_or_group._v_name, full_name))
            raise
def _prm_read_table ( self , table_or_group , full_name ) : try : result_table = None if self . _all_get_from_attrs ( table_or_group , HDF5StorageService . SPLIT_TABLE ) : table_name = table_or_group . _v_name data_type_table_name = table_name + '__' + HDF5StorageService . STORAGE_TYPE data_type_table = table_or_group . _v_children [ data_type_table_name ] data_type_dict = { } for row in data_type_table : fieldname = row [ 'field_name' ] . decode ( 'utf-8' ) data_type_dict [ fieldname ] = row [ 'data_type' ] . decode ( 'utf-8' ) for sub_table in table_or_group : sub_table_name = sub_table . _v_name if sub_table_name == data_type_table_name : continue for colname in sub_table . colnames : # Read Data column by column col = sub_table . col ( colname ) data_list = list ( col ) prefix = HDF5StorageService . FORMATTED_COLUMN_PREFIX % colname for idx , data in enumerate ( data_list ) : # Recall original type of data data , type_changed = self . _all_recall_native_type ( data , PTItemMock ( data_type_dict ) , prefix ) if type_changed : data_list [ idx ] = data else : break # Construct or insert into an ObjectTable if result_table is None : result_table = ObjectTable ( data = { colname : data_list } ) else : result_table [ colname ] = data_list else : for colname in table_or_group . colnames : # Read Data column by column col = table_or_group . col ( colname ) data_list = list ( col ) prefix = HDF5StorageService . FORMATTED_COLUMN_PREFIX % colname for idx , data in enumerate ( data_list ) : # Recall original type of data data , type_changed = self . _all_recall_native_type ( data , table_or_group , prefix ) if type_changed : data_list [ idx ] = data else : break # Construct or insert into an ObjectTable if result_table is None : result_table = ObjectTable ( data = { colname : data_list } ) else : result_table [ colname ] = data_list return result_table except : self . _logger . error ( 'Failed loading `%s` of `%s`.' % ( table_or_group . _v_name , full_name ) ) raise
Reads a non-nested PyTables table column by column and created a new ObjectTable for
        the loaded data.

        :param table_or_group:

            PyTables table to read from or a group containing subtables.

        :param full_name:

            Full name of the parameter or result whose data is to be loaded

        :return:

            Data to be loaded
Reads a non - nested PyTables table column by column and created a new ObjectTable for the loaded data .