Source code for EPWpy.utilities.printing

import numpy as np
import time
from alive_progress import alive_bar
import sys
import functools

[docs] def decorated_init_print(func): def inner(*args, **kwargs): if ('name' in kwargs.keys()): print('inside', kwargs[name]) func(*args,**kwargs) return inner
[docs] def decorated_status(func): @functools.wraps(func) # ← preserves docstring, name, signature def inner(*args, **kwargs): for i in range(30): print('--',end=" ") print() func(*args,**kwargs) print() for i in range(30): print('--',end=" ") print() return inner
[docs] def decorated_progress(func): @functools.wraps(func) # ← preserves docstring, name, signature def inner(*args, **kwargs): if ('name' in kwargs.keys()): definition = kwargs['name'] else: definition = 'scf' for i in range(11): print('--',end=" ") print(f' Calculation: {definition} ',end=" ") for i in range(11): print('--',end=" ") print() with alive_bar(2, title = f'Running {definition}', force_tty=True, monitor = False) as bar: # your expected total bar() time.sleep(0.005) func(*args,**kwargs) bar() # call `bar()` at the end print() for i in range(30): print('--',end=" ") print() return inner
[docs] def decorated_structure(func): @functools.wraps(func) # ← preserves docstring, name, signature def inner(*args, **kwargs): if ('name' in kwargs.keys()): definition = kwargs['name'] else: definition = 'random' for i in range(12): print('--',end=" ") print('Structure Info',end=" ") for i in range(13): print('--',end=" ") print() func(*args,**kwargs) for i in range(30): print('--',end=" ") print() return inner
[docs] def decorated_warning(func): @functools.wraps(func) # ← preserves docstring, name, signature def inner(*args, **kwargs): try: warn = args[0].__dict__['epw_refresh'] if (warn !=None): for i in range(13): print('--',end=" ") print('Warning',end=" ") for i in range(14): print('--',end=" ") print() print('Refreshing EPW input (remove refresh from epw_save.json if not needed)') for i in range(30): print('--',end=" ") print() except KeyError: pass func(*args,**kwargs) return inner
[docs] def decorated_exit(func): @functools.wraps(func) # ← preserves docstring, name, signature def inner(*args, **kwargs): for i in range(13): print('--',end=" ") print(' Exit ',end=" ") for i in range(14): print('--',end=" ") print() func(*args,**kwargs) for i in range(30): print('--',end=" ") print() sys.exit() return inner
[docs] def decorated_info(func): def inner(*args, **kwargs): for i in range(13): print('--',end=" ") print(' Info ',end=" ") for i in range(14): print('--',end=" ") print() func(*args,**kwargs) for i in range(30): print('--',end=" ") print() return inner
[docs] def decorated_error(func): def inner(*args, **kwargs): try: return func(*args, **kwargs) # return result except FileNotFoundError: print("-- " * 13, "Error", "-- " * 14) print("File not found error occurred") print("-- " * 30) return inner
[docs] def decorated_warning_pw(func): def inner(*args, **kwargs): func(*args,**kwargs) try: X=args[0].__dict__['epw_params']['lpolar'] try: Y=args[0].__dict__['epw_params']['system_2d'] except KeyError: pass for i in range(13): print('--',end=" ") print('Info',end=" ") for i in range(14): print('--',end=" ") print() print('Based on previous pw and ph calculations some parameters are set below') print(f'lpolar: ', args[0].__dict__['epw_params']['lpolar'],'(related to epsil in ph)') try: print(f'system_2d: ', args[0].__dict__['epw_params']['system_2d'],'related to assume_isolated in pw') except KeyError: pass for i in range(30): print('--',end=" ") print() except KeyError: pass return inner
[docs] def decorated_warning_transport(func): def inner(*args, **kwargs): func(*args,**kwargs) try: for i in range(13): print('--',end=" ") print('Info',end=" ") for i in range(14): print('--',end=" ") print() print('You have chosen transport calculation with values below') print(f'ncarrier: ', args[0].__dict__['epw_params']['ncarrier']) print(f'int_mob: ', args[0].__dict__['epw_params']['int_mob']) print(f'scattering: ', args[0].__dict__['epw_params']['scattering']) print(f'degaussw: ', args[0].__dict__['epw_params']['degaussw'],'(adaptive smearing)') for i in range(30): print('--',end=" ") print() except KeyError: pass return inner
[docs] def decorated_warning_optics(func): def inner(*args, **kwargs): func(*args,**kwargs) try: for i in range(13): print('--',end=" ") print('Info',end=" ") for i in range(14): print('--',end=" ") print() print('You have chosen optics calculation with values below') print(f'loptabs: ', args[0].__dict__['epw_params']['loptabs']) print(f'omegamax: ', args[0].__dict__['epw_params']['omegamax'],' eV') print(f'omegamin: ', args[0].__dict__['epw_params']['omegamin'],' eV') print(f'omegastep: ', args[0].__dict__['epw_params']['omegastep'],' eV') print(f'efermi_read: ', args[0].__dict__['epw_params']['efermi_read']) print(f'fermi_energy: ', args[0].__dict__['epw_params']['fermi_energy'],' eV') for i in range(30): print('--',end=" ") print() except KeyError: pass return inner