'Copy file and set proper permissions
:param file_path: The full path of the media file to copy
:param new_path: Destination path where we want to copy the file to
:param new_base_name: The base filename (no extension) to use during the copy. Use None to keep the same name.
:param associated_files: Boolean, whether we should copy similarly-named files too'

def _copy(self, file_path, new_path, new_base_name, associated_files=False, subtitles=False):

    def _int_copy(cur_file_path, new_file_path):
        self._log((((u'Copying    file    from    ' + cur_file_path) + u'    to    ') + new_file_path), logger.DEBUG)
        try:
            helpers.copyFile(cur_file_path, new_file_path)
            helpers.chmodAsParent(new_file_path)
        except (IOError, OSError) as e:
            self._log((((((u'Unable    to    copy    file    ' + cur_file_path) + u'    to    ') + new_file_path) + u':    ') + ex(e)), logger.ERROR)
            raise
    self._combined_file_operation(file_path, new_path, new_base_name, associated_files, action=_int_copy, subtitles=subtitles)
