def get_asset_content_from_path(course_key, asset_path): """ Locate the given asset content, load it into memory, and return it. Returns None if the asset is not found. """ try: asset_key = StaticContent.get_asset_key_from_path( course_key, asset_path) return AssetManager.find(asset_key) except (ItemNotFoundError, NotFoundError): return None
def get_content_digest_for_asset_path(cls, prefix, path): """ Takes an unprocessed asset path, parses it just enough to try and find the asset it refers to, and returns the content digest of that asset if it exists. """ # Parse the path as if it was potentially a relative URL with query parameters, # or an absolute URL, etc. Only keep the path because that's all we need. _, _, relative_path, _, _, _ = urlparse(path) asset_key = StaticContent.get_asset_key_from_path(cls.courses[prefix].id, relative_path) try: content = AssetManager.find(asset_key, as_stream=True) return content.content_digest except (ItemNotFoundError, NotFoundError): return None
def get_asset_content_from_path(course_key, asset_path): """ Locate the given asset content, load it into memory, and return it. Returns None if the asset is not found. """ try: from xmodule.contentstore.content import StaticContent from xmodule.assetstore.assetmgr import AssetManager from xmodule.modulestore.exceptions import ItemNotFoundError from xmodule.exceptions import NotFoundError except ImportError as exc: raise EdXPlatformImportError(exc) try: asset_key = StaticContent.get_asset_key_from_path( course_key, asset_path) return AssetManager.find(asset_key) except (ItemNotFoundError, NotFoundError) as exc: return None