Source code for irfpy.util.irflab_wrapper
""" Command executed in ``from irflab import *``
To start using irfpy interactively, use the following syntex::
from irflab import *
Then, all the installed ``irfpy`` modules will be imported.
"""
print('''
Importing core and third-party library
--------------------------------------
* Importing pprint (from pprint import pprint)
* Importing datetime
* Importing numpy as np
* Importing scipy as sp
* Importing matplotlib.pyplot as plt
''')
from pprint import pprint
import datetime
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
print('''
Loading irfpy.util
------------------
''')
import irfpy.util
from irfpy.util import *
print(' * Loading unit calculator (type "help(u)" for help)')
import irfpy.util.unitq as u
print(' * Loading physical constants (type "help(k)" for help)')
import irfpy.util.constant as k
print(' * Loading physical formula (type "help(f)" for help)')
import irfpy.util.physics as f
print('''
Setup logger
------------
* Import logging module
* Initilized irfpy logger as a name ``logger``
''')
import logging
irflab_handler = logging.StreamHandler()
irflab_formatter = logging.Formatter('[%(levelname)s] %(asctime)s [%(name)s] %(message)s', datefmt='%FT%T')
irflab_handler.setFormatter(irflab_formatter)
logger = logging.getLogger('irfpy')
logger.addHandler(irflab_handler)
logger.propagate = False
_logger_irflab = logging.getLogger(__name__)
### This should be the end!
print('''
irfpy modules
-------------
To load all installed irfpy library, type irfpy_init()
''')
_irfpy_irflab_loaded = []
[docs]def irfpy_init(loglevel=None):
if loglevel:
__oldlevel=_logger_irflab.level
_logger_irflab.setLevel(loglevel)
def onerrorfunc(name):
pass
import pkgutil as _pkgutil
import irfpy
for _v in _pkgutil.walk_packages(onerror=onerrorfunc, path=irfpy.__path__, prefix='irfpy.'):
try: # >= python3.6
_n = _v.name
except: # <= python3.5
_n = _v[1]
if _n.count('.') < 2:
continue
elif _n.endswith('_test'):
continue
try:
if _n not in _irfpy_irflab_loaded:
exec('import {}'.format(_n))
_logger_irflab.info('Import {}'.format(_n))
_irfpy_irflab_loaded.append(_n)
# except ModuleNotFoundError: # New in python3.6
# pass
except ImportError: # Old for python3.5
pass
if loglevel:
_logger_irflab.setLevel(__oldlevel)