@@ -95,10 +95,13 @@ class CopyFilesFromCalcLoc(FiretaskBase):
95
95
name_append (str): string to append to destination filenames.
96
96
exclude_files (list): list of file names to be excluded. Accepts glob
97
97
patterns.
98
+ decompress (bool): if True, files are decompressed after copy.
98
99
"""
99
100
100
101
required_params = ["calc_loc" ]
101
- optional_params = ["filenames" , "name_prepend" , "name_append" , "exclude_files" ]
102
+ optional_params = ["filenames" , "name_prepend" ,
103
+ "name_append" , "exclude_files" ,
104
+ "decompress" ]
102
105
103
106
def run_task (self , fw_spec = None ):
104
107
calc_loc = get_calc_loc (self ["calc_loc" ], fw_spec ["calc_locs" ])
@@ -142,11 +145,13 @@ def run_task(self, fw_spec=None):
142
145
143
146
for f in files_to_copy :
144
147
prev_path_full = os .path .join (calc_dir , f )
145
- dest_fname = self .get ("name_prepend" , "" ) + f + self .get ("name_append" , "" )
148
+ f , ext = os .path .splitext (f )
149
+ dest_fname = self .get ("name_prepend" , "" ) + f + self .get ("name_append" , "" ) + ext
146
150
dest_path = os .path .join (os .getcwd (), dest_fname )
147
151
148
152
fileclient .copy (prev_path_full , dest_path )
149
-
153
+ if self .get ("decompress" ,False ):
154
+ monty .shutil .decompress_file (dest_path )
150
155
151
156
@explicit_serialize
152
157
class DeleteFiles (FiretaskBase ):
0 commit comments