~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to ivle/webapp/breadcrumbs.py

  • Committer: William Grant
  • Date: 2009-04-29 04:58:42 UTC
  • Revision ID: grantw@unimelb.edu.au-20090429045842-upijb1ybcbz1zg6u
Kill --nosvnrevno from setup.install - we don't use Subversion now.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# IVLE - Informatics Virtual Learning Environment
2
 
# Copyright (C) 2007-2009 The University of Melbourne
3
 
#
4
 
# This program is free software; you can redistribute it and/or modify
5
 
# it under the terms of the GNU General Public License as published by
6
 
# the Free Software Foundation; either version 2 of the License, or
7
 
# (at your option) any later version.
8
 
#
9
 
# This program is distributed in the hope that it will be useful,
10
 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 
# GNU General Public License for more details.
13
 
#
14
 
# You should have received a copy of the GNU General Public License
15
 
# along with this program; if not, write to the Free Software
16
 
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
 
 
18
 
class Breadcrumber(object):
19
 
    def __init__(self, req):
20
 
        self.req = req
21
 
        self.index = {}
22
 
 
23
 
        for plugin in req.config.plugins.values():
24
 
            if hasattr(plugin, 'breadcrumbs'):
25
 
                for cls in plugin.breadcrumbs:
26
 
                    assert cls not in self.index
27
 
                    self.index[cls] = plugin.breadcrumbs[cls]
28
 
 
29
 
    def crumb(self, obj):
30
 
        if type(obj) not in self.index:
31
 
            return None
32
 
        return self.index[type(obj)](self.req, obj)