summaryrefslogtreecommitdiff
path: root/examples/adjacencytree/basic_tree.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-11-01 17:14:50 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-11-01 17:14:50 +0000
commit266f9f1ebe9fe07bf272e3631491dac5c7f97951 (patch)
treefc5035fbc81205c09bb6f1d785883a882645d077 /examples/adjacencytree/basic_tree.py
parent256cdba4a0f25cd340510e0f641783e329626de0 (diff)
downloadsqlalchemy-266f9f1ebe9fe07bf272e3631491dac5c7f97951.tar.gz
some example cleanup
Diffstat (limited to 'examples/adjacencytree/basic_tree.py')
-rw-r--r--examples/adjacencytree/basic_tree.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/examples/adjacencytree/basic_tree.py b/examples/adjacencytree/basic_tree.py
index 6a3470fa0..f05f3c3a7 100644
--- a/examples/adjacencytree/basic_tree.py
+++ b/examples/adjacencytree/basic_tree.py
@@ -1,9 +1,8 @@
-from sqlalchemy import *
-import sqlalchemy.util as util
-import string, sys
-
"""a basic Adjacency List model tree."""
+from sqlalchemy import *
+from sqlalchemy.util import OrderedDict
+
metadata = BoundMetaData('sqlite:///', echo=True)
trees = Table('treenodes', metadata,
@@ -12,7 +11,7 @@ trees = Table('treenodes', metadata,
Column('node_name', String(50), nullable=False),
)
-class NodeList(util.OrderedDict):
+class NodeList(OrderedDict):
"""subclasses OrderedDict to allow usage as a list-based property."""
def append(self, node):
self[node.name] = node
@@ -21,7 +20,6 @@ class NodeList(util.OrderedDict):
class TreeNode(object):
"""a rich Tree class which includes path-based operations"""
- children = NodeList
def __init__(self, name):
self.children = NodeList()
self.name = name
@@ -40,7 +38,7 @@ class TreeNode(object):
def _getstring(self, level, expand = False):
s = (' ' * level) + "%s (%s,%s, %d)" % (self.name, self.id,self.parent_id,id(self)) + '\n'
if expand:
- s += string.join([n._getstring(level+1, True) for n in self.children.values()], '')
+ s += ''.join([n._getstring(level+1, True) for n in self.children.values()])
return s
def print_nodes(self):
return self._getstring(0, True)
@@ -49,7 +47,7 @@ mapper(TreeNode, trees, properties=dict(
id=trees.c.node_id,
name=trees.c.node_name,
parent_id=trees.c.parent_node_id,
- children=relation(TreeNode, cascade="all", backref=backref("parent", foreignkey=trees.c.node_id)),
+ children=relation(TreeNode, cascade="all", backref=backref("parent", foreignkey=trees.c.node_id), collection_class=NodeList),
))
print "\n\n\n----------------------------"