| 186 | return features |
| 187 | |
| 188 | def _copy_output(self): |
| 189 | self.log_signal.emit('Copying output...') |
| 190 | |
| 191 | src_file = os.path.join('target', self.target, 'release', 'rsl.exe') |
| 192 | out_dir = 'output' |
| 193 | |
| 194 | if not os.path.exists(out_dir): |
| 195 | os.makedirs(out_dir) |
| 196 | |
| 197 | import random |
| 198 | import string |
| 199 | rand_name = ''.join(random.choices(string.ascii_letters, k=6)) + '.exe' |
| 200 | dst_file = os.path.join(out_dir, rand_name) |
| 201 | |
| 202 | if not os.path.exists(src_file): |
| 203 | raise FileNotFoundError(src_file) |
| 204 | |
| 205 | shutil.copyfile(src_file, dst_file) |
| 206 | self.log_signal.emit(f'Copied and renamed: {dst_file}') |
| 207 | |
| 208 | return dst_file |
| 209 | |
| 210 | def _sign_executable(self, dst_file): |
| 211 | app_path = self.params['sign_app'] |