<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_attachment(self, service_desk_id, issue_id_or_key, filename, public=True, comment=None):
 """ Add attachment as a comment. Setting attachment visibility is dependent on the user's permission. For example, Agents can create either public or internal attachments, while Unlicensed users can only create internal attachments, and Customers can only create public attachments. An additional comment may be provided which will be prepended to the attachments. :param service_desk_id: str :param issue_id_or_key: str :param filename: str, name, if file in current directory or full path to file :param public: OPTIONAL: bool (default is True) :param comment: OPTIONAL: str (default is None) :return: Request info """

        log.warning('Creating attachment...')

        # Create temporary attachment
        temp_attachment_id = self.attach_temporary_file(service_desk_id, filename)

        # Add attachments
        return self.add_attachment(issue_id_or_key, temp_attachment_id, public, comment)