'See :meth:`.ContentStore.copy_all_course_assets`
This implementation fairly expensively copies all of the data'

def copy_all_course_assets(self, source_course_key, dest_course_key):

    source_query = query_for_course(source_course_key)
    for asset in self.fs_files.find(source_query):
        asset_key = self.make_id_son(asset)
        source_content = self.fs.get(asset_key)
        if isinstance(asset_key, basestring):
            asset_key = AssetKey.from_string(asset_key)
            (__, asset_key) = self.asset_db_key(asset_key)
        asset_key['org'] = dest_course_key.org
        asset_key['course'] = dest_course_key.course
        if getattr(dest_course_key, 'deprecated', False):
            if ('run' in asset_key):
                del asset_key['run']
            asset_id = asset_key
        else:
            asset_key['run'] = dest_course_key.run
            asset_id = unicode(dest_course_key.make_asset_key(asset_key['category'], asset_key['name']).for_branch(None))
        self.fs.put(source_content.read(), _id=asset_id, filename=asset['filename'], content_type=asset['contentType'], displayname=asset['displayname'], content_son=asset_key, thumbnail_location=asset['thumbnail_location'], import_path=asset['import_path'], locked=asset.get('locked', False))
