def _find_index_if_arbitrary_filter_node(name: str, context: IResource) -> SDIndex: """ Find the referenced index if `name' refers to an arbitrary catalog index. Throws an exception otherwise. If there are no catalogs, `None` is returned to facilitate testing. """ catalog = find_catalog(context, 'adhocracy') if not catalog: return None if name in catalog and not name.startswith('private_'): return catalog[name] else: raise_colander_style_error(None, name, 'No such catalog')
def _is_reference_filter(name: str, registry: Registry) -> bool: """ Check whether a name refers to a reference node in a sheet. Raises an error if `name` contains a colon but is not a reference node. """ if ':' not in name: return False resolve = registry.content.resolve_isheet_field_from_dotted_string try: isheet, field, node = resolve(name) except ValueError: raise_colander_style_error(None, name, 'No such sheet or field') if isinstance(node, (Reference, References)): return True else: raise_colander_style_error(None, name, 'Not a reference node')
def _is_reference_filter(name: str, registry: Registry) -> bool: """ Check whether a name refers to a reference node in a sheet. Raises an error if `name` contains a colon but is not a reference node. """ if ':' not in name: return False resolve = registry.content.resolve_isheet_field_from_dotted_string try: isheet, field, node = resolve(name) except ValueError: raise_colander_style_error(None, name, 'No such sheet or field') if isinstance(node, (Reference, References)): return True else: raise_colander_style_error(None, name, 'Not a reference node')
def _raise_mime_type_error(metadata_sheet: IAssetMetadata, msg: str): raise_colander_style_error(metadata_sheet.meta.isheet, 'mime_type', msg)
def _raise_mime_type_error(metadata_sheet: IAssetMetadata, msg: str): raise_colander_style_error(metadata_sheet.meta.isheet, 'mime_type', msg)