return cell data
(self, index, role=Qt.DisplayRole)
| 243 | return None |
| 244 | |
| 245 | def data(self, index, role=Qt.DisplayRole): |
| 246 | """ |
| 247 | return cell data |
| 248 | """ |
| 249 | if not index.isValid(): |
| 250 | return QVariant() |
| 251 | if role == Qt.DisplayRole: |
| 252 | if index.column() == 0: |
| 253 | return QVariant(index.internalPointer().data["name"]) |
| 254 | elif index.column() == 1: |
| 255 | item = index.internalPointer() |
| 256 | plugins = [] |
| 257 | if isinstance(item, Package): |
| 258 | for child in item.children: |
| 259 | if not child.data["plugin"] in plugins: |
| 260 | plugins.append(child.data["plugin"]) |
| 261 | else: |
| 262 | plugins.append(item.data["plugin"]) |
| 263 | return QVariant(", ".join(plugins)) |
| 264 | elif index.column() == 2: |
| 265 | item = index.internalPointer() |
| 266 | status = 0 |
| 267 | speed = self.getSpeed(item) |
| 268 | if isinstance(item, Package): |
| 269 | for child in item.children: |
| 270 | if child.data["status"] > status: |
| 271 | status = child.data["status"] |
| 272 | else: |
| 273 | status = item.data["status"] |
| 274 | |
| 275 | if speed is None or status == 7 or status == 10 or status == 5: |
| 276 | return QVariant(self.translateStatus(statusMapReverse[status])) |
| 277 | else: |
| 278 | return QVariant("%s (%s)" % (self.translateStatus(statusMapReverse[status]), formatSpeed(speed))) |
| 279 | elif index.column() == 3: |
| 280 | item = index.internalPointer() |
| 281 | if isinstance(item, Link): |
| 282 | if item.data["status"] == 0: #TODO needs change?? |
| 283 | #self.getProgress(item, False) == 100: |
| 284 | return QVariant(formatSize(item.data["size"])) |
| 285 | elif self.getProgress(item, False) == 0: |
| 286 | try: |
| 287 | return QVariant("%s / %s" % (formatSize(item.data["size"]-item.data["downloading"]["bleft"]), formatSize(item.data["size"]))) |
| 288 | except: |
| 289 | return QVariant("0 B / %s" % formatSize(item.data["size"])) |
| 290 | else: |
| 291 | try: |
| 292 | return QVariant("%s / %s" % (formatSize(item.data["size"]-item.data["downloading"]["bleft"]), formatSize(item.data["size"]))) |
| 293 | except: |
| 294 | return QVariant("? / %s" % formatSize(item.data["size"])) |
| 295 | else: |
| 296 | ms = 0 |
| 297 | cs = 0 |
| 298 | for c in item.children: |
| 299 | try: |
| 300 | s = c.data["downloading"]["size"] |
| 301 | except: |
| 302 | s = c.data["size"] |
no test coverage detected