Changeset 440 for trunk/src/__init__.py
- Timestamp:
- 10/14/09 17:23:01 (3 years ago)
- Files:
-
- 1 modified
-
trunk/src/__init__.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/__init__.py
r414 r440 38 38 __all__ = ['analysis', 'parameters', 'plotting', 'signals', 'stgen', 'io', 'datastore', 'utilities', 'spike2', 'random', 'optimize', 'tisean'] 39 39 __version__ = "0.1.0 (Asynchronous Astrocyte)" 40 import warnings 40 41 41 42 ######################################################### … … 68 69 ######################################################### 69 70 71 class DependencyWarning(UserWarning): 72 pass 73 70 74 def get_import_warning(name): 71 return ''' ----------------- Dependency Warning --------------------- 72 ** %s ** package is not installed. 75 return '''** %s ** package is not installed. 73 76 To have functions using %s please install the package. 74 77 website : %s … … 76 79 77 80 def get_runtime_warning(name, errmsg): 78 return ''' ----------------- Dependency Warning --------------------- 79 ** %s ** package is installed but cannot be imported. The error message is: %s 80 ''' %(name, errmsg) 81 return '** %s ** package is installed but cannot be imported. The error message is: %s' %(name, errmsg) 81 82 82 83 def check_numpy_version(): … … 102 103 dependencies[name]['is_present'] = True 103 104 except ImportError: 104 print get_import_warning(name)105 warnings.warn(get_import_warning(name), DependencyWarning) 105 106 except RuntimeError, errmsg: 106 print get_runtime_warning(name, errmsg)107 warnings.warn(get_runtime_warning(name, errmsg), DependencyWarning) 107 108 dependencies[name]['check'] = True 108 109 return dependencies[name]['is_present'] … … 181 182 182 183 184 class NameOrLevelFilter(logging.Filter): 185 """ 186 Logging filter which allows messages that either meet the same name criteria 187 as the base filter class, or have a level >= the level specified. 188 189 The intended use is when you want to receive most messages at a high level, 190 but receive certain named messages at a lower level, e.g. for debugging a 191 particular component. 192 """ 193 def __init__(self, name='', level=logging.INFO): 194 self.name = name 195 self.nlen = len(name) 196 self.level = level 197 198 def filter(self, record): 199 allow_by_name = logging.Filter.filter(self, record) 200 allow_by_level = record.levelno >= self.level 201 return (allow_by_name or allow_by_level) 202 203 183 204 def init_logging(filename, file_level=logging.INFO, console_level=logging.WARNING): 184 205 logging.basicConfig(level=file_level, 185 format='%(asctime)s %( levelname)s %(message)s', # %(pathname)s %(module)s %(funcName)s',206 format='%(asctime)s %(name)-10s %(levelname)-6s %(message)s [%(pathname)s:%(lineno)d]', 186 207 filename=filename, 187 208 filemode='w') … … 190 211 console.setFormatter(FancyFormatter('%(message)s')) 191 212 logging.getLogger('').addHandler(console) 213 return console
