def external_resource_download(self, file_mgr_name, username, src_file_id, dest_file_id): """ :param self: :param username: :param src_file_id: :param dest_file_id: :return: """ logger.debug('Downloading %s://%s for user %s to %s', file_mgr_name, src_file_id, username, dest_file_id) from designsafe.apps.api.external_resources.box.filemanager.manager \ import FileManager as BoxFileManager from designsafe.apps.api.external_resources.dropbox.filemanager.manager \ import FileManager as DropboxFileManager from designsafe.apps.api.external_resources.googledrive.filemanager.manager \ import FileManager as GoogleDriveFileManager user = get_user_model().objects.get(username=username) if file_mgr_name == 'box': fmgr = BoxFileManager(user) elif file_mgr_name == 'dropbox': fmgr = DropboxFileManager(user) elif file_mgr_name == 'googledrive': fmgr = GoogleDriveFileManager(user) fmgr.copy(username, src_file_id, dest_file_id)