def data(self, index, role=QtCore.Qt.DisplayRole):
        # display role, actually return the info
        if index.isValid() and role == QtCore.Qt.DisplayRole:
            f = self.files[index.row()]
            attr = self.__HEADERS[index.column()]['attr']
            ret = getattr(f, attr, None)
            if ret is not None:
                return QtCore.QVariant(ret)
            else:
                return QtCore.QVariant(self.__HEADERS[index.column()]['default'])
        # not worrying about this role, just return invalid variant
        return QtCore.QVariant()
method to return data for the various display roles in qt
dataset/ETHPy150Open shotgunsoftware/pyqt-uploader/uploader.py/ShotgunFileModel.data