453
453
"""Get the contents for the file."""
454
454
self.key.set(server_hash=hash)
456
self.m.fs.create_partial(node_id=self.key['node_id'],
457
share_id=self.key['share_id'])
458
self.m.action_q.download(
459
share_id=self.key['share_id'], node_id=self.key['node_id'],
461
fileobj_factory=lambda: self.m.fs.get_partial_for_writing(
462
node_id=self.key['node_id'],
463
share_id=self.key['share_id'])
456
share_id = self.key['share_id']
457
node_id = self.key['node_id']
458
path = self.key['path']
459
self.m.fs.create_partial(node_id=node_id, share_id=share_id)
460
factory = lambda: self.m.fs.get_partial_for_writing(node_id=node_id,
462
self.m.action_q.download(share_id=share_id, node_id=node_id,
463
server_hash=hash, path=path,
464
fileobj_factory=factory)
466
466
def reget_file(self, event, params, hash):
467
467
"""cancel and reget this download."""
485
485
node_id = self.key['node_id']
487
487
self.m.action_q.move(share_id, node_id, old_parent_id,
488
new_parent_id, new_name)
488
new_parent_id, new_name, path_from, path_to)
489
489
self.m.fs.add_to_move_limbo(share_id, node_id, old_parent_id,
490
490
new_parent_id, new_name)
491
491
self.key.moved(share_id, path_to)
528
528
name = os.path.basename(path)
529
529
marker = MDMarker(self.key.get_mdid())
530
self.m.action_q.make_file(share_id, parent_id, name, marker)
530
self.m.action_q.make_file(share_id, parent_id, name, marker, path)
532
532
def release_marker_ok(self, event, parms, new_id, marker):
533
533
"""Release ok the received marker in AQ's DeferredMap."""
554
554
name = os.path.basename(path)
555
555
mdid = self.key.get_mdid()
556
556
marker = MDMarker(mdid)
557
self.m.action_q.make_dir(share_id, parent_id, name, marker)
557
self.m.action_q.make_dir(share_id, parent_id, name, marker, path)
558
558
self.m.lr.scan_dir(mdid, path)
560
560
def new_local_dir_created(self, event, parms, new_id, marker):
573
573
def reput_file_from_local(self, event, params, hash):
574
574
"""Re put the file from its local state."""
575
self.m.action_q.cancel_upload(share_id=self.key['share_id'],
576
node_id=self.key['node_id'])
575
578
local_hash = self.key['local_hash']
576
579
previous_hash = self.key['server_hash']
577
580
crc32 = self.key['crc32']
578
581
size = self.key['size']
579
582
share_id = self.key['share_id']
580
583
node_id = self.key['node_id']
584
path = self.key['path']
582
586
self.m.action_q.upload(share_id, node_id, previous_hash, local_hash,
583
crc32, size, self.key.open_file)
587
crc32, size, path, self.key.open_file)
585
589
def put_file(self, event, params, hash, crc32, size, stat):
586
590
"""Upload the file to the server."""
587
591
previous_hash = self.key['server_hash']
592
path = self.key['path']
588
593
self.key.set(local_hash=hash, stat=stat, crc32=crc32, size=size)
591
596
self.m.action_q.upload(share_id=self.key['share_id'],
592
597
node_id=self.key['node_id'], previous_hash=previous_hash,
593
hash=hash, crc32=crc32, size=size,
598
hash=hash, crc32=crc32, size=size, path=path,
594
599
fileobj_factory=self.key.open_file)
596
601
def converges_to_server(self, event, params, hash, crc32, size, stat):
617
622
node_id=self.key['node_id'])
618
623
previous_hash = self.key['server_hash']
625
path = self.key['path']
620
626
self.key.set(local_hash=hash, stat=stat, crc32=crc32, size=size)
622
628
self.m.action_q.upload(share_id=self.key['share_id'],
623
629
node_id=self.key['node_id'], previous_hash=previous_hash,
624
hash=hash, crc32=crc32, size=size,
630
hash=hash, crc32=crc32, size=size, path=path,
625
631
fileobj_factory=self.key.open_file)
627
633
def server_file_now_matches(self, event, params, hash):
679
685
"""local file was deleted."""
680
686
self.m.action_q.unlink(self.key['share_id'],
681
687
self.key['parent_id'],
688
self.key['node_id'], path)
683
689
self.key.delete_to_trash()
685
691
def deleted_dir_while_downloading(self, event, params, path):
689
695
self.key.remove_partial()
690
696
self.m.action_q.unlink(self.key['share_id'],
691
697
self.key['parent_id'],
698
self.key['node_id'], path)
693
699
self.key.delete_to_trash()
695
701
def cancel_download_and_delete_on_server(self, event, params, path):
699
705
self.key.remove_partial()
700
706
self.m.action_q.unlink(self.key['share_id'],
701
707
self.key['parent_id'],
708
self.key['node_id'], path)
703
709
self.key.delete_to_trash()
705
711
def cancel_upload_and_delete_on_server(self, event, params, path):
708
714
node_id=self.key['node_id'])
709
715
self.m.action_q.unlink(self.key['share_id'],
710
716
self.key['parent_id'],
717
self.key['node_id'], path)
712
718
self.key.delete_to_trash()
714
720
def remove_trash(self, event, params, share_id, node_id):