<s> from collections import Counter <EOL> import warnings <EOL> import sys <EOL> import importlib <EOL> from pandashells . lib import config_lib <EOL> HEADER = "<STR_LIT>" <EOL> HEADER += "<STR_LIT>" <EOL> HEADER += "<STR_LIT>" <EOL> CMD_DICT = { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } <EOL> BACKEND_COUNTER = Counter ( ) <EOL> def set_backend ( ) : <EOL> with warnings . catch_warnings ( ) : <EOL> if BACKEND_COUNTER [ '<STR_LIT>' ] == <NUM_LIT:0> : <EOL> try : <EOL> warnings . filterwarnings ( '<STR_LIT:ignore>' ) <EOL> import matplotlib <EOL> config = config_lib . get_config ( ) <EOL> matplotlib . use ( config [ '<STR_LIT>' ] ) <EOL> BACKEND_COUNTER . update ( { '<STR_LIT>' : <NUM_LIT:1> } ) <EOL> warnings . resetwarnings ( ) <EOL> except ImportError : <EOL> pass <EOL> def check_for_modules ( module_list ) : <EOL> unnamed_modules = set ( module_list ) - set ( CMD_DICT . keys ( ) ) <EOL> unnamed_modules = unnamed_modules - { '<STR_LIT>' , '<STR_LIT>' } <EOL> if unnamed_modules : <EOL> msg = '<STR_LIT>' <EOL> msg += '<STR_LIT>' . format ( unnamed_modules ) <EOL> raise ValueError ( msg ) <EOL> if set ( module_list ) . intersection ( { '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' } ) : <EOL> set_backend ( ) <EOL> msg = '<STR_LIT>' <EOL> for module in sorted ( module_list ) : <EOL> try : <EOL> importlib . import_module ( module ) <EOL> except ImportError : <EOL> msg = msg if msg else HEADER <EOL> msg += '<STR_LIT:->' * <NUM_LIT> + '<STR_LIT:\n>' <EOL> msg += "<STR_LIT>" . format ( module ) <EOL> msg += "<STR_LIT>" . format ( CMD_DICT [ module ] ) <EOL> if msg : <EOL> sys . stdout . write ( msg + '<STR_LIT:\n>' ) <EOL> sys . exit ( <NUM_LIT:1> ) </s>
