| Trees | Indices | Help |
|---|
|
|
1 # -*- Mode: Python -*- 2 # vi:si:et:sw=4:sts=4:ts=4 3 # 4 # Flumotion - a streaming media server 5 # Copyright (C) 2004,2005,2006,2007 Fluendo, S.L. (www.fluendo.com). 6 # All rights reserved. 7 8 # This file may be distributed and/or modified under the terms of 9 # the GNU General Public License version 2 as published by 10 # the Free Software Foundation. 11 # This file is distributed without any warranty; without even the implied 12 # warranty of merchantability or fitness for a particular purpose. 13 # See "LICENSE.GPL" in the source distribution for more information. 14 15 # Licensees having purchased or holding a valid Flumotion Advanced 16 # Streaming Server license may use this file in accordance with the 17 # Flumotion Advanced Streaming Server Commercial License Agreement. 18 # See "LICENSE.Flumotion" in the source distribution for more information. 19 20 # Headers in this file shall remain intact. 21 22 import os 23 import sys 24 25 from flumotion.common import package, errors, log 26 27 import flumotion.project 28 29 __version__ = "$Rev: 6633 $" 30 3133 """ 34 Returns a list of all add-on projects seen by Flumotion. 35 """ 36 projects = [n for n in sys.modules.keys() if n.startswith('flumotion.project')] 37 paths = flumotion.project.__path__ 38 modules = [] 39 for path in paths: 40 modules.extend(package.findEndModuleCandidates( 41 os.path.abspath(os.path.join(path, '..', '..')), 42 prefix='flumotion.project')) 43 44 modules.remove('flumotion.project.project') 45 46 return [n[len('flumotion.project.'):] for n in modules]4749 """ 50 Get an attribute from a project's module. 51 """ 52 log.debug('project', 'Getting attribute %s from project %s', 53 attribute, project) 54 55 moduleName = "flumotion.project.%s" % project 56 try: 57 exec("import %s" % moduleName) 58 except ImportError, e: 59 log.warning('project', 'Could not load project %s: %s', 60 project, log.getExceptionMessage(e)) 61 raise errors.NoProjectError(moduleName) 62 except SyntaxError: 63 raise errors.NoProjectError(moduleName) 64 m = sys.modules[moduleName] 65 return getattr(m, attribute, default)66
| Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0.1 on Sat Jul 26 09:43:20 2008 | http://epydoc.sourceforge.net |