Merge branch 'master' of github.com:beetletweezers/tweezers
commit
4bc673cb97
|
@ -182,7 +182,6 @@ class File(models.Model):
|
|||
def filename(self):
|
||||
return os.path.join(
|
||||
self.project.conf.path,
|
||||
self.project.slug,
|
||||
'%s.rst' % self.denormalized_path
|
||||
)
|
||||
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:glob:
|
||||
|
||||
{{ project.slug }}/*
|
||||
{% load projects_tags %}
|
||||
{% for file in project|annotated_tree %}
|
||||
{{ file.denormalized_path }}
|
||||
{% endfor %}
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
from django import template
|
||||
|
||||
register = template.Library()
|
||||
|
||||
@register.filter
|
||||
def top_level_files(project):
|
||||
return project.files.filter(parent__isnull=True)
|
||||
|
||||
@register.filter
|
||||
def annotated_tree(project, max_depth=99):
|
||||
annotated = []
|
||||
def walk_tree(qs, depth=1):
|
||||
for obj in qs:
|
||||
obj.depth = depth
|
||||
annotated.append(obj)
|
||||
if depth < max_depth:
|
||||
walk_tree(obj.children.order_by('ordering'), depth+1)
|
||||
walk_tree(project.files.filter(parent__isnull=True).order_by('ordering'))
|
||||
return annotated
|
Loading…
Reference in New Issue