~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to loggerhead/apps/branch.py

  • Committer: Michael Hudson
  • Date: 2009-03-19 20:04:24 UTC
  • Revision ID: michael.hudson@canonical.com-20090319200424-2dptbld0m9v45hvf
fix thinko on revision pages for removed files

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
from paste import httpexceptions
12
12
 
13
13
from loggerhead.apps import static_app
 
14
from loggerhead.controllers.annotate_ui import AnnotateUI
 
15
from loggerhead.controllers.atom_ui import AtomUI
14
16
from loggerhead.controllers.changelog_ui import ChangeLogUI
 
17
from loggerhead.controllers.diff_ui import DiffUI
 
18
from loggerhead.controllers.download_ui import DownloadUI
 
19
from loggerhead.controllers.filediff_ui import FileDiffUI
15
20
from loggerhead.controllers.inventory_ui import InventoryUI
16
 
from loggerhead.controllers.annotate_ui import AnnotateUI
17
21
from loggerhead.controllers.revision_ui import RevisionUI
18
 
from loggerhead.controllers.atom_ui import AtomUI
19
 
from loggerhead.controllers.download_ui import DownloadUI
 
22
from loggerhead.controllers.revlog_ui import RevLogUI
20
23
from loggerhead.controllers.search_ui import SearchUI
21
 
from loggerhead.controllers.diff_ui import DiffUI
22
24
from loggerhead.history import History
23
25
from loggerhead import util
24
26
 
25
27
 
 
28
_DEFAULT = object()
 
29
 
26
30
class BranchWSGIApp(object):
27
31
 
28
32
    def __init__(self, branch, friendly_name=None, config={},
29
 
                 graph_cache=None, branch_link=None, is_root=False):
 
33
                 graph_cache=None, branch_link=None, is_root=False,
 
34
                 served_url=_DEFAULT):
30
35
        self.branch = branch
31
36
        self._config = config
32
37
        self.friendly_name = friendly_name
36
41
            graph_cache = bzrlib.lru_cache.LRUCache()
37
42
        self.graph_cache = graph_cache
38
43
        self.is_root = is_root
 
44
        self.served_url = served_url
39
45
 
40
46
    def get_history(self):
41
47
        _history = History(self.branch, self.graph_cache)
70
76
        kw = util.get_context(**kw)
71
77
        return self.url(*args, **kw)
72
78
 
73
 
    @property
74
 
    def served_url(self):
75
 
        """The URL that you can fetch this branch from."""
76
 
        return self.url([])
77
 
 
78
79
    def static_url(self, path):
79
80
        return self._static_url_base + path
80
81
 
81
82
    controllers_dict = {
 
83
        '+filediff': FileDiffUI,
 
84
        '+revlog': RevLogUI,
82
85
        'annotate': AnnotateUI,
 
86
        'atom': AtomUI,
83
87
        'changes': ChangeLogUI,
 
88
        'diff': DiffUI,
 
89
        'download': DownloadUI,
84
90
        'files': InventoryUI,
85
91
        'revision': RevisionUI,
86
 
        'download': DownloadUI,
87
 
        'atom': AtomUI,
88
92
        'search': SearchUI,
89
 
        'diff': DiffUI,
90
93
        }
91
94
 
92
95
    def last_updated(self):
103
106
        if self._static_url_base is None:
104
107
            self._static_url_base = self._url_base
105
108
        self._environ = environ
 
109
        if self.served_url is _DEFAULT:
 
110
            self.served_url = self.url([])
106
111
        path = request.path_info_pop(environ)
107
112
        if not path:
108
113
            raise httpexceptions.HTTPMovedPermanently(