# SPDX-License-Identifier: AGPL-3.0-only import anyio import functools from bs4 import BeautifulSoup def shield(f): @functools.wraps(f) async def shielded(*args, **kwargs): with anyio.CancelScope(shield=True) as cs: return await f(*args, **kwargs) return shielded