deletes links
(self, id)
| 182 | @lock |
| 183 | @change |
| 184 | def deleteLink(self, id): |
| 185 | """deletes links""" |
| 186 | |
| 187 | f = self.getFile(id) |
| 188 | if not f: |
| 189 | return None |
| 190 | |
| 191 | pid = f.packageid |
| 192 | e = RemoveEvent("file", id, "collector" if not f.package().queue else "queue") |
| 193 | |
| 194 | oldorder = f.order |
| 195 | |
| 196 | if id in self.core.threadManager.processingIds(): |
| 197 | self.cache[id].abortDownload() |
| 198 | |
| 199 | if id in self.cache: |
| 200 | del self.cache[id] |
| 201 | |
| 202 | self.db.deleteLink(f) |
| 203 | |
| 204 | self.core.pullManager.addEvent(e) |
| 205 | |
| 206 | p = self.getPackage(pid) |
| 207 | if not len(p.getChildren()): |
| 208 | p.delete() |
| 209 | |
| 210 | pyfiles = self.cache.values() |
| 211 | for pyfile in pyfiles: |
| 212 | if pyfile.packageid == pid and pyfile.order > oldorder: |
| 213 | pyfile.order -= 1 |
| 214 | pyfile.notifyChange() |
| 215 | |
| 216 | #---------------------------------------------------------------------- |
| 217 | def releaseLink(self, id): |
no test coverage detected