]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
some example cleanup
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 1 Nov 2006 17:14:50 +0000 (17:14 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 1 Nov 2006 17:14:50 +0000 (17:14 +0000)
examples/adjacencytree/basic_tree.py
examples/adjacencytree/byroot_tree.py

index 6a3470fa05aeff461ed36ab9b4879b8ec7663ebe..f05f3c3a78471820c4142629b702192f200062c0 100644 (file)
@@ -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----------------------------"
index 874ad15f265bbe393afe0457d2cbbca10e4828ed..c2753f24918baed026b9ef499a085f878a8f12f0 100644 (file)
@@ -1,11 +1,10 @@
-from sqlalchemy import *
-import sqlalchemy.util as util
-import string, sys, time
-
 """a more advanced example of basic_tree.py.  treenodes can now reference their "root" node, and
 introduces a new selection method which selects an entire tree of nodes at once, taking 
 advantage of a custom MapperExtension to assemble incoming nodes into their correct structure."""
 
+from sqlalchemy import *
+from sqlalchemy.util import OrderedDict
+
 engine = create_engine('sqlite:///:memory:', echo=True)
 
 metadata = BoundMetaData(engine)
@@ -29,7 +28,7 @@ treedata = Table(
 )
 
 
-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
@@ -75,7 +74,7 @@ class TreeNode(object):
     def _getstring(self, level, expand = False):
         s = ('  ' * level) + "%s (%s,%s,%s, %d): %s" % (self.name, self.id,self.parent_id,self.root_id, id(self), repr(self.data)) + '\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)
@@ -132,7 +131,7 @@ mapper(TreeNode, trees, properties=dict(
     children=relation(TreeNode, primaryjoin=trees.c.parent_node_id==trees.c.node_id, lazy=None, uselist=True, cascade="delete,save-update", collection_class=NodeList),
     data=relation(mapper(TreeData, treedata, properties=dict(id=treedata.c.data_id)), cascade="delete,delete-orphan,save-update", lazy=False)
     
-), extension = TreeLoader()).compile()
+), extension = TreeLoader())
 
 
 session = create_session()
@@ -159,7 +158,7 @@ print "----------------------------"
 
 session.save(node)
 session.flush()
-#sys.exit()
+
 print "\n\n\n----------------------------"
 print "Tree After Save:"
 print "----------------------------"