pytable.viewschema
index
p:\table\pytable\viewschema.py

(incomplete) Schemas describing query/view structures

 
Modules
       
basicproperty.basic
basictypes.callable
basicproperty.common
pytable.dbschema
basictypes.list_types
basicproperty.propertied

 
Classes
       
BaseTableSchema(ParentSchema)
ViewSchema
FieldSchema(ParentSchema)
ViewFieldSchema
ListOf(rlist)
JoinTables
ViewFieldSchemas
ViewSchemas
Schema(Propertied)
JoinTable

 
class JoinTable(Schema)
    A Join of a table, basically just a name:table item
 
 
Method resolution order:
JoinTable
Schema
Propertied
object

Class methods defined here:
check(cls, value) from type
Check that value is a proper instance of this class
coerce(cls, value) from type
Coerce a value to an instance of this class

Data and other attributes defined here:
name = <StringProperty 'name'>
Name of the table (required)
table = <BasicProperty 'table'>
Table object which participates in the schema

Methods inherited from Schema:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
findParent(self, requiredType=None)
Find our last parent of the given type, or None
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01FE0310>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class JoinTables(ListOf)
    
Method resolution order:
JoinTables
ListOf
rlist
list
object

Data and other attributes defined here:
dataType = 'list.JoinTables'

Methods inherited from ListOf:
beforeAdd(self, value)
Called before all attempts to add an item

Methods inherited from rlist:
__iadd__ = extend(self, value)
extend with value checking
__init__(self, value=None)
Initialize the restricted list object
__setitem__(self, index, value)
__setitem__ with value checking
__setslice__(self, start, stop, value)
__setslice__ with value checking
append(self, value)
append with value checking
beforeMultipleAdd(self, value)
Called before attempts to add more than one item (beforeAdd has already be called for each item)
extend(self, value)
extend with value checking
insert(self, index, value)
insert with value checking

Data and other attributes inherited from rlist:
__dict__ = <dictproxy object at 0x01FE0CD0>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'rlist' objects>
list of weak references to the object (if defined)

Methods inherited from list:
__add__(...)
x.__add__(y) <==> x+y
__contains__(...)
x.__contains__(y) <==> y in x
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__delslice__(...)
x.__delslice__(i, j) <==> del x[i:j]
 
Use of negative indices is not supported.
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__gt__(...)
x.__gt__(y) <==> x>y
__hash__(...)
x.__hash__() <==> hash(x)
__imul__(...)
x.__imul__(y) <==> x*=y
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__mul__(...)
x.__mul__(n) <==> x*n
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__rmul__(...)
x.__rmul__(n) <==> n*x
count(...)
L.count(value) -> integer -- return number of occurrences of value
index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value
pop(...)
L.pop([index]) -> item -- remove and return item at index (default last)
remove(...)
L.remove(value) -- remove first occurrence of value
reverse(...)
L.reverse() -- reverse *IN PLACE*
sort(...)
L.sort(cmpfunc=None) -- stable sort *IN PLACE*; cmpfunc(x, y) -> -1, 0, 1

Data and other attributes inherited from list:
__new__ = <built-in method __new__ of type object at 0x1E0C3C78>
T.__new__(S, ...) -> a new object with type S, a subtype of T

 
class ViewFieldSchema(FieldSchema)
    A view-field description, adds source table and field props
 
Basically, a default ViewField is going to use
these extra properties to forward all actions to
the source-table's field for standard editing
actions.
 
 
Method resolution order:
ViewFieldSchema
FieldSchema
ParentSchema
Schema
Propertied
object

Data and other attributes defined here:
sourceField = <BasicProperty 'sourceField'>
The source-field schema for this field (may be null)
sourceTable = <BasicProperty 'sourceTable'>
The source-table schema for this field (may be null)

Methods inherited from FieldSchema:
__iter__(self)
Iterate over the sub-elements of this schema
buildProperty(self)
Build a BasicProperty which uses this schema
checkConstraint(self, constraint)
Check/ensure that constraint refers only to us
foreign(self)
Determine whether we have a foreign-key constraint

Data and other attributes inherited from FieldSchema:
baseClass = <ClassProperty 'baseClass'>
The class used to represent items, also used for dataType and the like
constraints = <ListProperty 'constraints'>
Constraint objects which constrain this field
control = <ClassProperty 'control'>
Explicitly-set control class to use for this field
dataType = <StringProperty 'dataType'>
wxoo string dataType declaration
 
If not explicitly set, this value can normally be
inferred from the database itself.  Explicitly
setting the value allows for defining "special"
dataTypes such as for a choice from a referenced
table.
dbDataType = <StringProperty 'dbDataType'>
database's SQL dataType declaration
dbObjectType = 'COLUMN'
defaultValue = <BasicProperty 'defaultValue'>
A string representation of the default value for the field
displaySize = <IntegerProperty 'displaySize'>
Text-mode display size of the value
friendlyName = <StringProperty 'friendlyName'>
Name of the field (required)
gridEditor = <ClassProperty 'gridEditor'>
Explicitly-set gridEditor class to use for this field
 
Note: if this property is not set, but the control property
        is set, the control will be auto-wrapped as a grid editor.
gridViewer = <ClassProperty 'gridViewer'>
Explicitly-set gridViewer class to use for this field
index = <IntegerProperty 'index'>
Index of the field in its table/view
internalSize = <IntegerProperty 'internalSize'>
Binary internal size of the value
name = <StringProperty 'name'>
Name of the field (required)
nullOk = <BooleanProperty 'nullOk'>
Whether value can be left null when inserting/updating
 
This is actually just mirroring the presence of a
NotNullConstraint in our constraints set.
propertyClass = <ClassProperty 'propertyClass'>
The class used to represent this property object

Methods inherited from ParentSchema:
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Methods inherited from Schema:
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
findParent(self, requiredType=None)
Find our last parent of the given type, or None

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01FE0C10>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class ViewFieldSchemas(ListOf)
    
Method resolution order:
ViewFieldSchemas
ListOf
rlist
list
object

Data and other attributes defined here:
dataType = 'list.ViewFieldSchemas'

Methods inherited from ListOf:
beforeAdd(self, value)
Called before all attempts to add an item

Methods inherited from rlist:
__iadd__ = extend(self, value)
extend with value checking
__init__(self, value=None)
Initialize the restricted list object
__setitem__(self, index, value)
__setitem__ with value checking
__setslice__(self, start, stop, value)
__setslice__ with value checking
append(self, value)
append with value checking
beforeMultipleAdd(self, value)
Called before attempts to add more than one item (beforeAdd has already be called for each item)
extend(self, value)
extend with value checking
insert(self, index, value)
insert with value checking

Data and other attributes inherited from rlist:
__dict__ = <dictproxy object at 0x01FE0AF0>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'rlist' objects>
list of weak references to the object (if defined)

Methods inherited from list:
__add__(...)
x.__add__(y) <==> x+y
__contains__(...)
x.__contains__(y) <==> y in x
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__delslice__(...)
x.__delslice__(i, j) <==> del x[i:j]
 
Use of negative indices is not supported.
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__gt__(...)
x.__gt__(y) <==> x>y
__hash__(...)
x.__hash__() <==> hash(x)
__imul__(...)
x.__imul__(y) <==> x*=y
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__mul__(...)
x.__mul__(n) <==> x*n
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__rmul__(...)
x.__rmul__(n) <==> n*x
count(...)
L.count(value) -> integer -- return number of occurrences of value
index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value
pop(...)
L.pop([index]) -> item -- remove and return item at index (default last)
remove(...)
L.remove(value) -- remove first occurrence of value
reverse(...)
L.reverse() -- reverse *IN PLACE*
sort(...)
L.sort(cmpfunc=None) -- stable sort *IN PLACE*; cmpfunc(x, y) -> -1, 0, 1

Data and other attributes inherited from list:
__new__ = <built-in method __new__ of type object at 0x1E0C3C78>
T.__new__(S, ...) -> a new object with type S, a subtype of T

 
class ViewSchema(BaseTableSchema)
    A query-view table-structure/schema
 
This is the structure/schema for a query,
and as such it may involve multiple tables,
may include joins, indices and the like.
 
At it's most basic, a view schema can
just be:
 
        select * from tableName;
 
but it can be ridiculously more complex,
with huge numbers of sub-elements interacting
to produce a real-world query-set.
 
 
Method resolution order:
ViewSchema
BaseTableSchema
ParentSchema
Schema
Propertied
object

Data and other attributes defined here:
fields = <ListProperty 'fields'>
FieldSchema objects for the table
tables = <ListProperty 'tables'>
List of JoinTable objects which participate in the schema

Methods inherited from BaseTableSchema:
buildProperties(self)
Build dbdescriptors for this table's properties/fields
buildRowClass(self)
Build a new row-class if we don't have an explicitly-specified one

Data and other attributes inherited from BaseTableSchema:
baseItemClass = <ClassProperty 'baseItemClass'>
The default base-class for itemclass
collectionClass = <ClassProperty 'collectionClass'>
The class used to wrap result-sets as collection objects
itemClass = <ClassProperty 'itemClass'>
The class used to wrap result-set-row objects
name = <StringProperty 'name'>
Name of the table (required)
properties = <DictionaryProperty 'properties'>
Table/View's property-descriptor objects
 
Created from fields via wrapping
propertiesCalculated = <BooleanProperty 'propertiesCalculated'>
Whether property-set was automatically calculated
 
Used to determine whether to re-calculate if necessary

Methods inherited from ParentSchema:
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Methods inherited from Schema:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
findParent(self, requiredType=None)
Find our last parent of the given type, or None

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01FE0E50>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class ViewSchemas(ListOf)
    
Method resolution order:
ViewSchemas
ListOf
rlist
list
object

Data and other attributes defined here:
dataType = 'list.ViewSchemas'

Methods inherited from ListOf:
beforeAdd(self, value)
Called before all attempts to add an item

Methods inherited from rlist:
__iadd__ = extend(self, value)
extend with value checking
__init__(self, value=None)
Initialize the restricted list object
__setitem__(self, index, value)
__setitem__ with value checking
__setslice__(self, start, stop, value)
__setslice__ with value checking
append(self, value)
append with value checking
beforeMultipleAdd(self, value)
Called before attempts to add more than one item (beforeAdd has already be called for each item)
extend(self, value)
extend with value checking
insert(self, index, value)
insert with value checking

Data and other attributes inherited from rlist:
__dict__ = <dictproxy object at 0x01FE0CD0>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'rlist' objects>
list of weak references to the object (if defined)

Methods inherited from list:
__add__(...)
x.__add__(y) <==> x+y
__contains__(...)
x.__contains__(y) <==> y in x
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__delslice__(...)
x.__delslice__(i, j) <==> del x[i:j]
 
Use of negative indices is not supported.
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__gt__(...)
x.__gt__(y) <==> x>y
__hash__(...)
x.__hash__() <==> hash(x)
__imul__(...)
x.__imul__(y) <==> x*=y
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__mul__(...)
x.__mul__(n) <==> x*n
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__rmul__(...)
x.__rmul__(n) <==> n*x
count(...)
L.count(value) -> integer -- return number of occurrences of value
index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value
pop(...)
L.pop([index]) -> item -- remove and return item at index (default last)
remove(...)
L.remove(value) -- remove first occurrence of value
reverse(...)
L.reverse() -- reverse *IN PLACE*
sort(...)
L.sort(cmpfunc=None) -- stable sort *IN PLACE*; cmpfunc(x, y) -> -1, 0, 1

Data and other attributes inherited from list:
__new__ = <built-in method __new__ of type object at 0x1E0C3C78>
T.__new__(S, ...) -> a new object with type S, a subtype of T