<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _filepath_converter(self, user_path, file_name):
 """Logic for obtaining a file path :param user_path: a path as provided by the user. perhaps a file or directory? :param file_name: the name of the remote file :return: """

        path = user_path or os.path.join(os.getcwd(), 'billing_reports', os.path.sep)
        dir_specified = path.endswith(os.sep)
        if dir_specified:
            path = os.path.join(path, file_name)
        path = os.path.abspath(path)

        directory = os.path.dirname(path)
        if not os.path.isdir(directory):
            os.makedirs(directory)

        if os.path.exists(path):
            raise IOError('SDK will not write into an existing path: %r' % path)

        return path