diff options
Diffstat (limited to 'g2h/tree_page.py')
| -rw-r--r-- | g2h/tree_page.py | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/g2h/tree_page.py b/g2h/tree_page.py deleted file mode 100644 index df65a33..0000000 --- a/g2h/tree_page.py +++ /dev/null @@ -1,73 +0,0 @@ -import os - -from .file import generate_breadcrumbs, sanitize_file_name, tree_join -from .page import Page -from .tree import safe_join - -class TreePage(Page): - def __init__(self, out_dir, name, commit, sub_tree, repo, content_subdir): - tree = safe_join(commit.tree, sub_tree) - super(TreePage, self).__init__('tree.md', out_dir, os.path.join(tree_join(commit, tree.path), '_index.md'), name, content_subdir) - self.tree = tree - self.repo = repo - self.commit = commit - self.sub_tree = sub_tree - - def _generate_entries(self, nodes): - entries = [] - for node in nodes: - latest_commit = next(self.repo.iter_commits(self.commit, max_count=1, paths=node.path)) - name = node.name - file_name = name - if node.type == 'tree': - name += '/' - file_name = name - else: - file_name = sanitize_file_name(name, self.tree.blobs) - entry = { - 'file_name': file_name, - 'name': name, - 'modified': latest_commit.committed_datetime - } - entries.append(entry) - return entries - - def _get_entries(self): - files = self._generate_entries(self.tree.blobs) - dirs = self._generate_entries(self.tree.trees) - files.sort(key=lambda x: x['name']) - dirs.sort(key=lambda x: x['name']) - return dirs + files - - def context(self): - return { - 'breadcrumbs': generate_breadcrumbs(self.content_subdir, self.commit, self.sub_tree, self.tree.blobs), - 'content_subdir': self.content_subdir, - 'entries': self._get_entries(), - # TODO: Make this fit the rest of the system. - 'subdir': '/'.join([self.content_subdir, tree_join(self.commit, self.tree.path)]), - 'this_commit': self.commit, - 'title': self.name + ': Tree' - } - - def build_pages(self, factory): - visited = set() - remaining = [self.sub_tree] - tree_pages = [] - while remaining: - current = remaining.pop() - if not current in visited: - visited.add(current) - tree = safe_join(self.commit.tree, current) - tree_pages.append(factory.new_tree(self.commit, tree.path, self.repo)) - for sub_tree in tree.trees: - remaining.append(sub_tree.path) - - return tree_pages - - def get_files(self): - file_paths = [] - for blob in self.tree.blobs: - file_paths.append(blob.path) - - return file_paths |