<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def files_upload( self, *, file: Union[str, IOBase] = None, content: str = None, **kwargs ) -> SlackResponse: """Uploads or creates a file. Args: file (str):
 Supply a file path. when you'd like to upload a specific file. e.g. 'dramacat.gif' content (str):
 Supply content when you'd like to create an editable text file containing the specified text. e.g. 'launch plan' Raises: SlackRequestError: If niether or both the `file` and `content` args are specified. """

        if file is None and content is None:
            raise e.SlackRequestError("The file or content argument must be specified.")
        if file is not None and content is not None:
            raise e.SlackRequestError(
                "You cannot specify both the file and the content argument."
            )

        if file:
            return self.api_call("files.upload", files={"file": file}, data=kwargs)
        elif content:
            data = kwargs.copy()
            data.update({"content": content})
            return self.api_call("files.upload", data=data)