~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to loggerhead/controllers/annotate_ui.py

  • Committer: Robey Pointer
  • Date: 2007-01-24 19:17:25 UTC
  • Revision ID: robey@lag.net-20070124191725-nbh93909s4qfez18
fix silly typo.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#
2
2
# Copyright (C) 2006  Robey Pointer <robey@lag.net>
 
3
# Copyright (C) 2006  Goffredo Baroncelli <kreijack@inwind.it>
3
4
#
4
5
# This program is free software; you can redistribute it and/or modify
5
6
# it under the terms of the GNU General Public License as published by
40
41
        
41
42
class AnnotateUI (object):
42
43
 
 
44
    def __init__(self, branch):
 
45
        # BranchView object
 
46
        self._branch = branch
 
47
        self.log = branch.log
 
48
 
 
49
    @util.strip_whitespace
43
50
    @turbogears.expose(html='loggerhead.templates.annotate')
44
51
    def default(self, *args, **kw):
45
52
        z = time.time()
46
 
        h = util.get_history()
 
53
        h = self._branch.get_history()
 
54
        util.set_context(kw)
47
55
        
48
56
        if len(args) > 0:
49
 
            revid = args[0]
 
57
            revid = h.fix_revid(args[0])
50
58
        else:
51
59
            revid = None
52
60
        
53
 
        path = kw.get('path', None)
54
 
        if (path == '/') or (path == '') or (path is None):
55
 
            raise HTTPRedirect(turbogears.url('/changes'))
 
61
        file_id = kw.get('file_id', None)
 
62
        if file_id is None:
 
63
            raise HTTPRedirect(self._branch.url('/changes'))
56
64
 
57
65
        try:
58
 
            revlist, revid = h.get_navigation(revid, path)
59
 
            file_id = h.get_inventory(revid).path2id(path)
 
66
            revid_list, revid = h.get_file_view(revid, file_id)
60
67
        except Exception, x:
61
 
            log.error('Exception fetching changes: %r, %s' % (x, x))
62
 
            raise HTTPRedirect(turbogears.url('/changes'))
 
68
            self.log.error('Exception fetching changes: %s' % (x,))
 
69
            util.log_exception(self.log)
 
70
            raise HTTPRedirect(self._branch.url('/changes'))
63
71
            
64
 
        buttons = [
65
 
            ('top', turbogears.url('/changes')),
66
 
            ('revision', turbogears.url([ '/revision', revid ], path=path)),
67
 
            ('history', turbogears.url([ '/changes', revid ], path=path)),
68
 
        ]
69
 
        
70
72
        # no navbar for revisions
71
 
        navigation = util.Container(buttons=buttons)
 
73
        navigation = util.Container()
 
74
        
 
75
        path = h.get_path(revid, file_id)
 
76
        filename = os.path.basename(path)
72
77
 
73
78
        vals = {
74
 
            'branch_name': turbogears.config.get('loggerhead.branch_name'),
 
79
            'branch': self._branch,
75
80
            'util': util,
76
81
            'revid': revid,
 
82
            'file_id': file_id,
77
83
            'path': path,
 
84
            'filename': filename,
78
85
            'history': h,
79
86
            'navigation': navigation,
80
 
            'change': h.get_change(revid),
 
87
            'change': h.get_changes([ revid ])[0],
81
88
            'contents': list(h.annotate_file(file_id, revid)),
82
89
        }
83
90
        h.flush_cache()
84
 
        log.info('/annotate: %r secs' % (time.time() - z,))
 
91
        self.log.info('/annotate: %r secs' % (time.time() - z,))
85
92
        return vals