Skip to content

Commit 78459e4

Browse files
committed
fixes #9
python3 support
1 parent 774364e commit 78459e4

File tree

6 files changed

+23
-6
lines changed

6 files changed

+23
-6
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,5 @@ TODO
1818
TODO.txt
1919
nohup.out
2020
.cache
21+
.tox
22+
__pycache__

sqlalchemy_mptt/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# Copyright © 2014 uralbash <root@uralbash.ru>
66
#
77
# Distributed under terms of the MIT license.
8-
from mixins import BaseNestedSets
8+
from .mixins import BaseNestedSets
99

1010
__version__ = "0.0.1"
1111
__mixins__ = [BaseNestedSets]

sqlalchemy_mptt/events.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ def mptt_before_update(mapper, connection, instance):
173173
table.c.tree_id == instance.tree_id))
174174
.order_by(table.c.lft)
175175
).fetchall()
176-
subtree = map(lambda x: x[0], subtree)
176+
subtree = [x[0] for x in subtree]
177177

178178
""" step 0: Initialize parameters.
179179

sqlalchemy_mptt/mixins.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from sqlalchemy.orm import backref, relationship
1616
from sqlalchemy.orm.session import Session
1717

18-
from events import mptt_before_delete, mptt_before_insert, mptt_before_update
18+
from .events import mptt_before_delete, mptt_before_insert, mptt_before_update
1919

2020

2121
class BaseNestedSets(object):

sqlalchemy_mptt/tests.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from sqlalchemy.ext.declarative import declarative_base
1616
from sqlalchemy.orm import sessionmaker
1717

18-
from mixins import BaseNestedSets
18+
from .mixins import BaseNestedSets
1919

2020
Base = declarative_base()
2121

@@ -106,6 +106,10 @@ def add_mptt_tree(session):
106106
add_fixture(Tree, tree2, session)
107107

108108

109+
def get_obj(session, id):
110+
return session.query(Tree).filter_by(id=id).one()
111+
112+
109113
class TestTree(unittest.TestCase):
110114

111115
def setUp(self):
@@ -1029,8 +1033,11 @@ def test_move_after_between_tree(self):
10291033

10301034
def test_get_tree(self):
10311035
tree = Tree.get_tree(self.session)
1032-
self.assertEqual(str(tree),
1033-
"[{'node': <Node (1)>, 'children': [{'node': <Node (2)>, 'children': [{'node': <Node (3)>}]}, {'node': <Node (4)>, 'children': [{'node': <Node (5)>}, {'node': <Node (6)>}]}, {'node': <Node (7)>, 'children': [{'node': <Node (8)>, 'children': [{'node': <Node (9)>}]}, {'node': <Node (10)>, 'children': [{'node': <Node (11)>}]}]}]}, {'node': <Node (12)>, 'children': [{'node': <Node (13)>, 'children': [{'node': <Node (14)>}]}, {'node': <Node (15)>, 'children': [{'node': <Node (16)>}, {'node': <Node (17)>}]}, {'node': <Node (18)>, 'children': [{'node': <Node (19)>, 'children': [{'node': <Node (20)>}]}, {'node': <Node (21)>, 'children': [{'node': <Node (22)>}]}]}]}]")
1036+
1037+
def go(id):
1038+
return get_obj(self.session, id)
1039+
self.assertEqual(tree,
1040+
[{'node': go(1), 'children': [{'node': go(2), 'children': [{'node': go(3)}]}, {'node': go(4), 'children': [{'node': go(5)}, {'node': go(6)}]}, {'node': go(7), 'children': [{'node': go(8), 'children': [{'node': go(9)}]}, {'node': go(10), 'children': [{'node': go(11)}]}]}]}, {'node': go(12), 'children': [{'node': go(13), 'children': [{'node': go(14)}]}, {'node': go(15), 'children': [{'node': go(16)}, {'node': go(17)}]}, {'node': go(18), 'children': [{'node': go(19), 'children': [{'node': go(20)}]}, {'node': go(21), 'children': [{'node': go(22)}]}]}]}])
10341041

10351042
def test_get_json_tree(self):
10361043
tree = Tree.get_tree(self.session, json=True)

tox.ini

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# content of: tox.ini , put in same dir as setup.py
2+
[tox]
3+
envlist = py27,py33
4+
[testenv]
5+
deps=
6+
-rrequirements.txt
7+
nose
8+
commands=nosetests

0 commit comments

Comments
 (0)