move transfers into sqlitedict
This commit is contained in:
parent
9a9185d3d5
commit
9d7a553b95
6 changed files with 69 additions and 45 deletions
14
oml/nodes.py
14
oml/nodes.py
|
|
@ -290,7 +290,6 @@ class Node(Thread):
|
|||
}
|
||||
|
||||
def download(self, item):
|
||||
from item.models import Transfer
|
||||
self.resolve()
|
||||
url = '%s/get/%s' % (self.url, item.id)
|
||||
t1 = datetime.utcnow()
|
||||
|
|
@ -316,19 +315,22 @@ class Node(Thread):
|
|||
since_ct = (datetime.utcnow() - ct).total_seconds()
|
||||
if since_ct > 1:
|
||||
ct = datetime.utcnow()
|
||||
t = Transfer.get(item.id)
|
||||
if not t.added:
|
||||
if state.shutdown:
|
||||
return False
|
||||
t = state.downloads.transfers.get(item.id)
|
||||
if not t:
|
||||
# transfer was canceled
|
||||
trigger_event('transfer', {
|
||||
'id': item.id, 'progress': -1
|
||||
})
|
||||
return False
|
||||
else:
|
||||
t.progress = size / item.info['size']
|
||||
t.save()
|
||||
t['progress'] = size / item.info['size']
|
||||
state.downloads.transfers[item.id] = t
|
||||
trigger_event('transfer', {
|
||||
'id': item.id, 'progress': t.progress
|
||||
'id': item.id, 'progress': t['progress']
|
||||
})
|
||||
state.downloads.transfers[item.id] = t
|
||||
if state.bandwidth:
|
||||
while not state.bandwidth.download(chunk_size) and not state.shutdown:
|
||||
time.sleep(0.1)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue