def METHOD_NAME(self, file_name, bucket, key=None, extra_args={}):
    """Upload a file
    :param file_name: File to upload
    :param bucket: Bucket to upload to
    :param key: object name. If not specified then file_name is used
    :return: True if file was uploaded, else False
    """
    # If S3 key was not specified, use file_name
    if key is None:
        key = os.path.basename(file_name)
    # Upload the file
    try:
        with open(file_name, 'rb') as in_file:
            self.put_object(bucket, key, in_file)
    except Exception as e:
        logging.error(e)
        return False
    return True