gavo.rscdef.group module

VOTable-style groups for RD tables.

class gavo.rscdef.group.ColumnReference(parent, **kwargs)[source]

Bases: TypedReference

A reference from a group to a column within a table.

ColumnReferences do not support qualified references, i.e., you can only give simple names.

attrSeq = [<gavo.base.attrdef.UnicodeAttribute object>, <gavo.base.parsecontext.IdAttribute object>, <gavo.base.attrdef.UnicodeAttribute object>, <gavo.base.attrdef.UnicodeAttribute object>]
completedCallbacks = []
managedAttrs = {'dest': <gavo.base.attrdef.UnicodeAttribute object>, 'id': <gavo.base.parsecontext.IdAttribute object>, 'key': <gavo.base.attrdef.UnicodeAttribute object>, 'ucd': <gavo.base.attrdef.UnicodeAttribute object>, 'utype': <gavo.base.attrdef.UnicodeAttribute object>}
name_ = 'columnRef'
resolve(container)[source]

tries to resolve the reference within container.

This must be overridden by derived classes.

class gavo.rscdef.group.Group(parent, **kwargs)[source]

Bases: Structure

A group is a collection of columns, parameters and other groups with a dash of metadata.

Within a group, you can refer to columns or params of the enclosing table by their names. Nothing outside of the enclosing table can be part of a group.

Rather than referring to params, you can also embed them into a group; they will then not be present in the embedding table.

Groups may contain groups.

One application for this is grouping input keys for the form renderer. For such groups, you probably want to give the label property (and possibly cssClass).

attrSeq = [<gavo.base.complexattrs.StructListAttribute object>, <gavo.base.attrdef.NWUnicodeAttribute object>, <gavo.base.complexattrs.StructListAttribute object>, <gavo.base.parsecontext.IdAttribute object>, <gavo.rscdef.column.ParamNameAttribute object>, <gavo.base.complexattrs.StructListAttribute object>, <gavo.rscdef.common.ColumnListAttribute object>, <gavo.base.complexattrs.PropertyAttribute object>, <gavo.base.attrdef.UnicodeAttribute object>, <gavo.base.attrdef.UnicodeAttribute object>]
clearProperty(name)
completedCallbacks = []
getProperty(name, default=<Undefined>)
hasProperty(name)
iterColumns()[source]

iterates over columns within this group.

iterParams()[source]

iterates over all params within this group.

This includes both params refereced in the parent table and immediate params.

managedAttrs = {'columnRef': <gavo.base.complexattrs.StructListAttribute object>, 'columnRefs': <gavo.base.complexattrs.StructListAttribute object>, 'description': <gavo.base.attrdef.NWUnicodeAttribute object>, 'group': <gavo.base.complexattrs.StructListAttribute object>, 'groups': <gavo.base.complexattrs.StructListAttribute object>, 'id': <gavo.base.parsecontext.IdAttribute object>, 'name': <gavo.rscdef.column.ParamNameAttribute object>, 'param': <gavo.rscdef.common.ColumnListAttribute object>, 'paramRef': <gavo.base.complexattrs.StructListAttribute object>, 'paramRefs': <gavo.base.complexattrs.StructListAttribute object>, 'params': <gavo.rscdef.common.ColumnListAttribute object>, 'properties': <gavo.base.complexattrs.PropertyAttribute object>, 'property': <gavo.base.complexattrs.PropertyAttribute object>, 'ucd': <gavo.base.attrdef.UnicodeAttribute object>, 'utype': <gavo.base.attrdef.UnicodeAttribute object>}
name_ = 'group'
onParentComplete()[source]

checks that param and column names can be found in the parent table.

setProperty(name, value)
property table

the table definition this group lives in.

For nested groups, this still is the ancestor table.

class gavo.rscdef.group.ParameterReference(parent, **kwargs)[source]

Bases: TypedReference

A reference from a group to a parameter within a table.

ParamReferences do not support qualified references, i.e., you can only give simple names.

Also note that programmatically, you usually want to resolve ParamReferences within the Table instance, not the table definition.

attrSeq = [<gavo.base.attrdef.UnicodeAttribute object>, <gavo.base.parsecontext.IdAttribute object>, <gavo.base.attrdef.UnicodeAttribute object>, <gavo.base.attrdef.UnicodeAttribute object>]
completedCallbacks = []
managedAttrs = {'dest': <gavo.base.attrdef.UnicodeAttribute object>, 'id': <gavo.base.parsecontext.IdAttribute object>, 'key': <gavo.base.attrdef.UnicodeAttribute object>, 'ucd': <gavo.base.attrdef.UnicodeAttribute object>, 'utype': <gavo.base.attrdef.UnicodeAttribute object>}
name_ = 'paramRef'
resolve(container)[source]

tries to resolve the reference within container.

This must be overridden by derived classes.

class gavo.rscdef.group.TypedReference(parent, **kwargs)[source]

Bases: Structure

A base class for references to columns and parameters.

attrSeq = [<gavo.base.attrdef.UnicodeAttribute object>, <gavo.base.parsecontext.IdAttribute object>, <gavo.base.attrdef.UnicodeAttribute object>, <gavo.base.attrdef.UnicodeAttribute object>]
completedCallbacks = []
managedAttrs = {'dest': <gavo.base.attrdef.UnicodeAttribute object>, 'id': <gavo.base.parsecontext.IdAttribute object>, 'key': <gavo.base.attrdef.UnicodeAttribute object>, 'ucd': <gavo.base.attrdef.UnicodeAttribute object>, 'utype': <gavo.base.attrdef.UnicodeAttribute object>}
resolve(container)[source]

tries to resolve the reference within container.

This must be overridden by derived classes.