Example #1
0
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')
Example #2
0
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')
Example #3
0
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')
Example #4
0
def _raise_mime_type_error(metadata_sheet: IAssetMetadata, msg: str):
        raise_colander_style_error(metadata_sheet.meta.isheet,
                                   'mime_type',
                                   msg)
Example #5
0
def _raise_mime_type_error(metadata_sheet: IAssetMetadata, msg: str):
    raise_colander_style_error(metadata_sheet.meta.isheet, 'mime_type', msg)