def unstash_source(step_rename: STEP_RENAME) -> STEP_RENAME:
    """

    :param step_rename:
    :return:
    """

    file_io.copy(file_io.FILE_COPY_ENTRY(
        source=step_rename.stash_path,
        destination=step_rename.new_path
    ))

    if not os.path.exists(step_rename.new_path):
        raise FileNotFoundError(
            'Failed to rename step file to {}'.format(step_rename.new_path)
        )

    try:
        os.remove(step_rename.stash_path)
    except PermissionError:
        pass

    return step_rename
def unstash_source ( step_rename : STEP_RENAME ) -> STEP_RENAME : file_io . copy ( file_io . FILE_COPY_ENTRY ( source = step_rename . stash_path , destination = step_rename . new_path ) ) if not os . path . exists ( step_rename . new_path ) : raise FileNotFoundError ( 'Failed to rename step file to {}' . format ( step_rename . new_path ) ) try : os . remove ( step_rename . stash_path ) except PermissionError : pass return step_rename
:param step_rename:
    :return: