Skip to content

Commit 9051667

Browse files
authored
Merge pull request #258 from pyiron/delete_file_on_remote
Add delete_file_on_remote option to transfer_file()
2 parents 5452967 + 13c4c6d commit 9051667

File tree

4 files changed

+14
-8
lines changed

4 files changed

+14
-8
lines changed

pysqa/ext/remote.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ def get_job_from_remote(self, working_directory):
161161
if self._ssh_delete_file_on_remote:
162162
self._execute_remote_command(command="rm -r " + remote_working_directory)
163163

164-
def transfer_file(self, file, transfer_back=False):
164+
def transfer_file(self, file, transfer_back=False, delete_file_on_remote=False):
165165
working_directory = os.path.abspath(os.path.expanduser(file))
166166
remote_working_directory = self._get_remote_working_dir(
167167
working_directory=working_directory
@@ -172,7 +172,7 @@ def transfer_file(self, file, transfer_back=False):
172172
sftp=None,
173173
transfer_back=transfer_back,
174174
)
175-
if self._ssh_delete_file_on_remote and transfer_back:
175+
if self._ssh_delete_file_on_remote and transfer_back and delete_file_on_remote:
176176
self._execute_remote_command(command="rm " + remote_working_directory)
177177

178178
def __del__(self):

pysqa/queueadapter.py

+10-4
Original file line numberDiff line numberDiff line change
@@ -201,16 +201,22 @@ def get_job_from_remote(self, working_directory):
201201
"""
202202
self._adapter.get_job_from_remote(working_directory=working_directory)
203203

204-
def transfer_file_to_remote(self, file, transfer_back=False):
204+
def transfer_file_to_remote(
205+
self, file, transfer_back=False, delete_file_on_remote=False
206+
):
205207
"""
208+
Transfer file from remote host to local host
206209
207210
Args:
208211
file (str):
209212
transfer_back (bool):
210-
Returns:
211-
str:
213+
delete_file_on_remote (bool):
212214
"""
213-
self._adapter.transfer_file(file=file, transfer_back=transfer_back)
215+
self._adapter.transfer_file(
216+
file=file,
217+
transfer_back=transfer_back,
218+
delete_file_on_remote=delete_file_on_remote,
219+
)
214220

215221
def convert_path_to_remote(self, path):
216222
"""

pysqa/utils/basic.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ def get_job_from_remote(self, working_directory):
295295
def convert_path_to_remote(self, path):
296296
raise NotImplementedError
297297

298-
def transfer_file(self, file, transfer_back=False):
298+
def transfer_file(self, file, transfer_back=False, delete_file_on_remote=False):
299299
raise NotImplementedError
300300

301301
def check_queue_parameters(

tests/test_slurm.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ def execute_command(
230230
slurm_tmp._adapter.convert_path_to_remote(path="test")
231231

232232
with self.assertRaises(NotImplementedError):
233-
slurm_tmp._adapter.transfer_file(file="test", transfer_back=False)
233+
slurm_tmp._adapter.transfer_file(file="test", transfer_back=False, delete_file_on_remote=False)
234234

235235
with self.assertRaises(NotImplementedError):
236236
slurm_tmp._adapter.get_job_from_remote(working_directory=".")

0 commit comments

Comments
 (0)