Transmit home directory when sending so filenames can be resolved
Also only send metadata if permission granted by user
This commit is contained in:
parent
a95a1f1158
commit
b51be8382f
@ -20,7 +20,7 @@ from typing import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
from kittens.transfer.librsync import PatchFile, signature_of_file
|
from kittens.transfer.librsync import PatchFile, signature_of_file
|
||||||
from kittens.transfer.utils import abspath, expand_home
|
from kittens.transfer.utils import abspath, expand_home, home_path
|
||||||
from kitty.fast_data_types import (
|
from kitty.fast_data_types import (
|
||||||
FILE_TRANSFER_CODE, OSC, add_timer, get_boss, get_options
|
FILE_TRANSFER_CODE, OSC, add_timer, get_boss, get_options
|
||||||
)
|
)
|
||||||
@ -653,7 +653,7 @@ class FileTransmission:
|
|||||||
if asd.send_errors:
|
if asd.send_errors:
|
||||||
self.send_transmission_error(asd.id, err)
|
self.send_transmission_error(asd.id, err)
|
||||||
return
|
return
|
||||||
if asd.spec_complete:
|
if asd.spec_complete and asd.accepted:
|
||||||
self.send_metadata_for_send_transfer(asd)
|
self.send_metadata_for_send_transfer(asd)
|
||||||
return
|
return
|
||||||
if not asd.accepted:
|
if not asd.accepted:
|
||||||
@ -688,7 +688,7 @@ class FileTransmission:
|
|||||||
self.write_ftc_to_child(ftc)
|
self.write_ftc_to_child(ftc)
|
||||||
sent = True
|
sent = True
|
||||||
if sent:
|
if sent:
|
||||||
self.send_status_response(code=ErrorCode.OK, request_id=asd.id)
|
self.send_status_response(code=ErrorCode.OK, request_id=asd.id, name=home_path())
|
||||||
else:
|
else:
|
||||||
self.send_status_response(code=ErrorCode.ENOENT, request_id=asd.id, msg='No files found')
|
self.send_status_response(code=ErrorCode.ENOENT, request_id=asd.id, msg='No files found')
|
||||||
self.drop_send(asd.id)
|
self.drop_send(asd.id)
|
||||||
|
|||||||
@ -149,7 +149,7 @@ class TestFileTransmission(BaseTest):
|
|||||||
self.assertResponses(ft, status='OK')
|
self.assertResponses(ft, status='OK')
|
||||||
ft.handle_serialized_command(serialized_cmd(action='file', file_id='missing', name='XXX'))
|
ft.handle_serialized_command(serialized_cmd(action='file', file_id='missing', name='XXX'))
|
||||||
self.responses.append(response(status='ENOENT:Failed to read spec', file_id='missing'))
|
self.responses.append(response(status='ENOENT:Failed to read spec', file_id='missing'))
|
||||||
self.assertResponses(ft, status='OK')
|
self.assertResponses(ft, status='OK', name=home)
|
||||||
ft = FileTransmission()
|
ft = FileTransmission()
|
||||||
self.responses = []
|
self.responses = []
|
||||||
ft.handle_serialized_command(serialized_cmd(action='receive', size=2))
|
ft.handle_serialized_command(serialized_cmd(action='receive', size=2))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user