Package roundup :: Module hyperdb
[show private | hide private]
[frames | no frames]

Module roundup.hyperdb

Hyperdatabase implementation, especially field types.
Classes
Boolean An object designating a boolean property
Class The handle to a particular class of nodes in a hyperdatabase.
Database A database for storing records containing flexible data types.
Date An object designating a Date property.
FileClass A class that requires the "content" property and stores it on disk.
Interval An object designating an Interval property.
Link An object designating a Link property that links to a node in a specified class.
Multilink An object designating a Multilink property that links to nodes in a specified class.
Node A convenience wrapper for the given node
Number An object designating a numeric property
Password An object designating a Password property.
String An object designating a String property.

Exceptions
DatabaseError Error to be raised when there is some problem in the database code
DesignatorError  
HyperdbValueError Error converting a raw value into a Hyperdb value

Function Summary
  Choice(name, db, *options)
Quick helper to create a simple class with choices
  convertLinkValue(db, propname, prop, value, idre)
Convert the link value (may be id or key value) to an id value.
  fixNewlines(text)
Homogenise line endings.
  rawToHyperdb(db, klass, itemid, propname, value, pwre)
Convert the raw (user-input) value to a hyperdb-storable value.
  splitDesignator(designator, dre)
Take a foo123 and return ('foo', 123)
  traceMark()

Variable Summary
Sink DEBUG = <roundup.hyperdb.Sink instance at 0x4049d16c>
Sink TRACE = <roundup.hyperdb.Sink instance at 0x4048e6ac>

Function Details

Choice(name, db, *options)

Quick helper to create a simple class with choices

convertLinkValue(db, propname, prop, value, idre=<_sre.SRE_Pattern object at 0x40493968>)

Convert the link value (may be id or key value) to an id value.

fixNewlines(text)

Homogenise line endings.

Different web clients send different line ending values, but other systems (eg. email) don't necessarily handle those line endings. Our solution is to convert all line endings to LF.

rawToHyperdb(db, klass, itemid, propname, value, pwre=<_sre.SRE_Pattern object at 0x4035ea70>)

Convert the raw (user-input) value to a hyperdb-storable value. The value is for the "propname" property on itemid (may be None for a new item) of "klass" in "db".

The value is usually a string, but in the case of multilink inputs it may be either a list of strings or a string with comma-separated values.

splitDesignator(designator, dre=<_sre.SRE_Pattern object at 0x40314f00>)

Take a foo123 and return ('foo', 123)

Variable Details

DEBUG

Type:
Sink
Value:
<roundup.hyperdb.Sink instance at 0x4049d16c>                          

TRACE

Type:
Sink
Value:
<roundup.hyperdb.Sink instance at 0x4048e6ac>                          

Generated by Epydoc 2.0 on Thu Feb 12 10:57:07 2004 http://epydoc.sf.net