diff options
Diffstat (limited to 'examples/pygtk-demo/demos/__init__.py')
-rw-r--r-- | examples/pygtk-demo/demos/__init__.py | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/examples/pygtk-demo/demos/__init__.py b/examples/pygtk-demo/demos/__init__.py index ee3fc5e7..44028ca4 100644 --- a/examples/pygtk-demo/demos/__init__.py +++ b/examples/pygtk-demo/demos/__init__.py @@ -1,18 +1,24 @@ import os -_modlist = filter(lambda x: len(x) > 3 and x[-3:] == '.py', - os.listdir(os.path.dirname(__file__))) +_file_list = [ + x for x in os.listdir(os.path.dirname(__file__)) + if len(x) > 3 and x[-3:] == '.py'] -demos = [] -for _mod in _modlist: - if _mod[0] != '_': - _mod = _mod[:-3] - try: - exec 'import ' + _mod + '\n' + \ - '_description = ' + _mod + '.description' - demos.append((_description, _mod)) - except: - pass -demos.sort() +demo_list = [] +for _mod in _file_list: + # Leave underscored Modulnames. + if _mod.startswith('_'): + continue + _mod = _mod[:-3] + try: + exec 'import ' + _mod + '\n' + \ + '_doc = ' + _mod + '.__doc__' + _description = _doc.splitlines()[0] + demo_list.append((_description, _mod)) + except (ImportError, AttributeError), msg: + # ImportError or AttributeError (if _doc is None) + #print 'failed: ', _mod + pass +demo_list.sort() |