An instance of this class represents all the content
defined in the
loc-group pattern. See the
definition of the
loc-group pattern in the schema.
# - - - - - c l a s s L o c G r o u p class LocGroup: """Represents locality information for sightings. Exports: LocGroup(loc=None, gps=None, locDetail=None): [ (loc is a locality as a Loc instance or None) and (gps is a Gps instance or None) and (locDetail is a Narrative instance or None) -> return a new LocGroup instance with those values ] .loc: [ as passed to constructor, read-only ] .gps: [ as passed to constructor, read-only ] .locDetail: [ as passed to constructor, read-only ] LocGroup.readNode(node, dayNotes): # Static method [ (node is an et.Element) and (dayNotes is a DayNotes instance) -> if node has any valid loc-group content -> return a new LocGroup instance representing that content else if node has loc-group content but there are any location codes undefined in dayNotes -> raise IOError else -> return None ] .inherit(parentGroup): [ parentGroup is a LocGroup instance -> return a new LocGroup whose attributes come from parentGroup except when they are overriden by corresponding attributes of self ] .writeNode(node): [ node is an et.Element -> node := node with self added as XML ] """
None of the three component attributes—location code, GPS waypoint, or location detail—are required. We allow each attribute to be optional in order to implement inheritance: each of these attributes may be inherited from a parent element.
# - - - L o c G r o u p . _ _ i n i t _ _ def __init__(self, loc=None, gps=None, locDetail=None): """Constructor for LocGroup """ self.loc = loc self.gps = gps self.locDetail = locDetail