Rev 169: Switch back to using a .parent pointer. in http://bazaar.launchpad.net/~jameinel/bzr-explorer/wt_model
John Arbash Meinel
john at arbash-meinel.com
Tue Jul 7 22:42:01 BST 2009
At http://bazaar.launchpad.net/~jameinel/bzr-explorer/wt_model
------------------------------------------------------------
revno: 169
revision-id: john at arbash-meinel.com-20090707214157-hcuif5aamnls23yr
parent: john at arbash-meinel.com-20090707213934-ck04k1uiy5jlimg4
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: wt_model
timestamp: Tue 2009-07-07 16:41:57 -0500
message:
Switch back to using a .parent pointer.
-------------- next part --------------
=== modified file 'lib/wt_model.py'
--- a/lib/wt_model.py 2009-07-07 21:39:34 +0000
+++ b/lib/wt_model.py 2009-07-07 21:41:57 +0000
@@ -32,7 +32,7 @@
:type children: A list of _WTItem objects
"""
- def __init__(self, path, name, disk_kind, file_id, inv_kind, parent_id):
+ def __init__(self, path, name, disk_kind, file_id, inv_kind, parent):
"""Create a new _WTItem
"""
self.path = path
@@ -40,9 +40,9 @@
self.disk_kind = disk_kind
self.file_id = file_id
self.inv_kind = inv_kind
- # Note: this creates a cyclical reference, consider using parent_id
+ # Note: this creates a cyclical reference, consider using parent
# instead
- self.parent_id = parent_id
+ self.parent = parent
self.children = []
@staticmethod
@@ -59,20 +59,20 @@
dir_wt_item = dir_items[dir_file_id]
except KeyError:
dir_wt_item = _WTItem(dir_path, '', 'directory',
- dir_file_id, 'directory', parent_id=None)
+ dir_file_id, 'directory', parent=None)
root_wt_item = dir_wt_item
dir_items[dir_file_id] = dir_wt_item
for (f_path, f_name, f_disk_kind, _, f_id,
f_inv_kind) in dir_block_info:
wt_item = _WTItem(f_path, f_name, f_disk_kind, f_id,
- f_inv_kind, dir_file_id)
+ f_inv_kind, dir_wt_item)
dir_wt_item.children.append(wt_item)
# TODO: handle directories that aren't versioned
if f_inv_kind == 'directory':
dir_items[f_id] = wt_item
finally:
wt.unlock()
- return root_wt_item, dir_items
+ return root_wt_item
class WorkingTreeModel(QtCore.QAbstractItemModel):
@@ -89,7 +89,7 @@
def __init__(self, wt, parent=None):
QtCore.QAbstractItemModel.__init__(self, parent)
self._wt = wt
- self._root_wt_item, self._dir_items = _WTItem.create_from_wt(self._wt)
+ self._root_wt_item = _WTItem.create_from_wt(self._wt)
def index(self, row, column, parent=None):
"""Return the QModelIndex for the given item.
=== modified file 'tests/test_wt_model.py'
--- a/tests/test_wt_model.py 2009-07-07 21:39:34 +0000
+++ b/tests/test_wt_model.py 2009-07-07 21:41:57 +0000
@@ -121,14 +121,14 @@
self.build_tree(['a_file'])
wt.add(['a_file'], ['file-id'])
wt.set_root_id('root-id')
- root_item, _ = wt_model._WTItem.create_from_wt(wt)
+ root_item = wt_model._WTItem.create_from_wt(wt)
self.assertIsInstance(root_item, wt_model._WTItem)
self.assertEqual('', root_item.path)
self.assertEqual('', root_item.name)
self.assertEqual('directory', root_item.disk_kind)
self.assertEqual('root-id', root_item.file_id)
self.assertEqual('directory', root_item.inv_kind)
- self.assertIs(None, root_item.parent_id)
+ self.assertIs(None, root_item.parent)
self.assertEqual(1, len(root_item.children))
child = root_item.children[0]
self.assertEqual('a_file', child.path)
@@ -136,21 +136,21 @@
self.assertEqual('file', child.disk_kind)
self.assertEqual('file-id', child.file_id)
self.assertEqual('file', child.inv_kind)
- self.assertEqual('root-id', child.parent_id)
+ self.assertEqual(root_item, child.parent)
def test_unversioned_from_wt(self):
wt = self.make_branch_and_tree('.')
self.build_tree(['a_file', 'unversioned-file'])
wt.set_root_id('root-id')
wt.add(['a_file'], ['file-id'])
- root_item, _ = wt_model._WTItem.create_from_wt(wt)
+ root_item = wt_model._WTItem.create_from_wt(wt)
self.assertIsInstance(root_item, wt_model._WTItem)
self.assertEqual('', root_item.path)
self.assertEqual('', root_item.name)
self.assertEqual('directory', root_item.disk_kind)
self.assertEqual('root-id', root_item.file_id)
self.assertEqual('directory', root_item.inv_kind)
- self.assertIs(None, root_item.parent_id)
+ self.assertIs(None, root_item.parent)
self.assertEqual(2, len(root_item.children))
child = root_item.children[0]
self.assertEqual('a_file', child.path)
@@ -158,14 +158,14 @@
self.assertEqual('file', child.disk_kind)
self.assertEqual('file-id', child.file_id)
self.assertEqual('file', child.inv_kind)
- self.assertEqual('root-id', child.parent_id)
+ self.assertEqual(root_item, child.parent)
child = root_item.children[1]
self.assertEqual('unversioned-file', child.path)
self.assertEqual('unversioned-file', child.name)
self.assertEqual('file', child.disk_kind)
self.assertEqual(None, child.file_id)
self.assertEqual(None, child.inv_kind)
- self.assertEqual('root-id', child.parent_id)
+ self.assertEqual(root_item, child.parent)
def test_with_subdirs(self):
wt = self.make_branch_and_tree('.')
@@ -174,10 +174,10 @@
wt.set_root_id('root-id')
wt.add(['dir', 'dir/subdir', 'dir/subdir/a_file'],
['dir-id', 'subdir-id', 'file-id'])
- root_item, _ = wt_model._WTItem.create_from_wt(wt)
+ root_item = wt_model._WTItem.create_from_wt(wt)
self.assertIsInstance(root_item, wt_model._WTItem)
self.assertEqual('root-id', root_item.file_id)
- self.assertIs(None, root_item.parent_id)
+ self.assertIs(None, root_item.parent)
self.assertEqual(1, len(root_item.children))
child = root_item.children[0]
self.assertEqual('dir', child.path)
@@ -185,20 +185,22 @@
self.assertEqual('directory', child.disk_kind)
self.assertEqual('dir-id', child.file_id)
self.assertEqual('directory', child.inv_kind)
- self.assertEqual('root-id', child.parent_id)
+ self.assertEqual(root_item, child.parent)
self.assertEqual(1, len(child.children))
- child = child.children[0]
+ this_dir = child
+ child = this_dir.children[0]
self.assertEqual('dir/subdir', child.path)
self.assertEqual('subdir', child.name)
self.assertEqual('directory', child.disk_kind)
self.assertEqual('subdir-id', child.file_id)
self.assertEqual('directory', child.inv_kind)
- self.assertEqual('dir-id', child.parent_id)
+ self.assertEqual(this_dir, child.parent)
self.assertEqual(1, len(child.children))
- child = child.children[0]
+ this_dir = child
+ child = this_dir.children[0]
self.assertEqual('dir/subdir/a_file', child.path)
self.assertEqual('a_file', child.name)
self.assertEqual('file', child.disk_kind)
self.assertEqual('file-id', child.file_id)
self.assertEqual('file', child.inv_kind)
- self.assertEqual('subdir-id', child.parent_id)
+ self.assertEqual(this_dir, child.parent)
More information about the bazaar-commits
mailing list