git.ithinksw.org
/
philo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Removed trailing_pathsep support from TreeManager.get_with_path. Set nodes to have...
[philo.git]
/
models
/
base.py
diff --git
a/models/base.py
b/models/base.py
index
3bcf394
..
43de3b0
100644
(file)
--- a/
models/base.py
+++ b/
models/base.py
@@
-45,6
+45,9
@@
def register_value_model(model):
value_content_type_limiter.register_class(model)
value_content_type_limiter.register_class(model)
+register_value_model(Tag)
+
+
def unregister_value_model(model):
value_content_type_limiter.unregister_class(model)
def unregister_value_model(model):
value_content_type_limiter.unregister_class(model)
@@
-312,11
+315,6
@@
class TreeManager(models.Manager):
# tree structure won't be that deep.
segments = path.split(pathsep)
# tree structure won't be that deep.
segments = path.split(pathsep)
- # Check for a trailing pathsep so we can restore it later.
- trailing_pathsep = False
- if segments[-1] == '':
- trailing_pathsep = True
-
# Clean out blank segments. Handles multiple consecutive pathseps.
while True:
try:
# Clean out blank segments. Handles multiple consecutive pathseps.
while True:
try:
@@
-348,12
+346,6
@@
class TreeManager(models.Manager):
return kwargs
return kwargs
- def build_path(segments):
- path = pathsep.join(segments)
- if trailing_pathsep and segments and segments[-1] != '':
- path += pathsep
- return path
-
def find_obj(segments, depth, deepest_found=None):
if deepest_found is None:
deepest_level = 0
def find_obj(segments, depth, deepest_found=None):
if deepest_found is None:
deepest_level = 0
@@
-374,7
+366,7
@@
class TreeManager(models.Manager):
if deepest_level == depth:
# This should happen if nothing is found with any part of the given path.
if root is not None and deepest_found is None:
if deepest_level == depth:
# This should happen if nothing is found with any part of the given path.
if root is not None and deepest_found is None:
- return root,
build_path
(segments)
+ return root,
pathsep.join
(segments)
raise
return find_obj(segments, depth, deepest_found)
raise
return find_obj(segments, depth, deepest_found)
@@
-387,7
+379,7
@@
class TreeManager(models.Manager):
# Could there be a deeper one?
if obj.is_leaf_node():
# Could there be a deeper one?
if obj.is_leaf_node():
- return obj,
build_path
(segments[deepest_level:]) or None
+ return obj,
pathsep.join
(segments[deepest_level:]) or None
depth += (len(segments) - depth)/2 or len(segments) - depth
depth += (len(segments) - depth)/2 or len(segments) - depth
@@
-395,13
+387,13
@@
class TreeManager(models.Manager):
depth = deepest_level + obj.get_descendant_count()
if deepest_level == depth:
depth = deepest_level + obj.get_descendant_count()
if deepest_level == depth:
- return obj,
build_path
(segments[deepest_level:]) or None
+ return obj,
pathsep.join
(segments[deepest_level:]) or None
try:
return find_obj(segments, depth, obj)
except self.model.DoesNotExist:
# Then this was the deepest.
try:
return find_obj(segments, depth, obj)
except self.model.DoesNotExist:
# Then this was the deepest.
- return obj,
build_path
(segments[deepest_level:])
+ return obj,
pathsep.join
(segments[deepest_level:])
if absolute_result:
return self.get(**make_query_kwargs(segments, root))
if absolute_result:
return self.get(**make_query_kwargs(segments, root))
@@
-425,12
+417,12
@@
class TreeModel(MPTTModel):
if root is not None and not self.is_descendant_of(root):
raise AncestorDoesNotExist(root)
if root is not None and not self.is_descendant_of(root):
raise AncestorDoesNotExist(root)
- qs = self.get_ancestors()
+ qs = self.get_ancestors(
include_self=True
)
if root is not None:
qs = qs.filter(**{'%s__gt' % self._mptt_meta.level_attr: root.get_level()})
if root is not None:
qs = qs.filter(**{'%s__gt' % self._mptt_meta.level_attr: root.get_level()})
- return pathsep.join([getattr(parent, field, '?') for parent in
list(qs) + [self]
])
+ return pathsep.join([getattr(parent, field, '?') for parent in
qs
])
path = property(get_path)
def __unicode__(self):
path = property(get_path)
def __unicode__(self):