<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def copy_file(self, path, prefixed_path, source_storage):
 """ Appends path to task queue if threads are enabled, otherwise copies the file with a blocking call. """

        args = (path, prefixed_path, source_storage)
        if settings.threads:
            self.tasks.append(args)
        else:
            self.do_copy_file(args)