def _set_preferences_logging(self): from qiskit_chemistry.preferences import Preferences from qiskit_chemistry._logging import set_logging_config preferences = Preferences() config = preferences.get_logging_config() if config is not None: set_logging_config(config)
def body(self, parent, options): from qiskit_chemistry.preferences import Preferences from qiskit_chemistry._logging import (get_logging_level, set_logging_config) preferences = Preferences() logging_config = preferences.get_logging_config() if logging_config is not None: set_logging_config(logging_config) uipreferences = UIPreferences() populate = uipreferences.get_populate_defaults(True) self._populateDefaults.set(1 if populate else 0) credentialsGroup = ttk.LabelFrame(parent, text='IBMQ Credentials', padding=(6, 6, 6, 6), borderwidth=4, relief=tk.GROOVE) credentialsGroup.grid(padx=(7, 7), pady=6, row=0, column=0, sticky='nsew') self._credentialsview = CredentialsView(credentialsGroup) defaultsGroup = ttk.LabelFrame(parent, text='Defaults', padding=(6, 6, 6, 6), borderwidth=4, relief=tk.GROOVE) defaultsGroup.grid(padx=(7, 7), pady=6, row=1, column=0, sticky='nsw') defaultsGroup.columnconfigure(1, pad=7) self._checkButton = ttk.Checkbutton(defaultsGroup, text="Populate on file new/open", variable=self._populateDefaults) self._checkButton.grid(row=0, column=1, sticky='nsw') loggingGroup = ttk.LabelFrame(parent, text='Logging Configuration', padding=(6, 6, 6, 6), borderwidth=4, relief=tk.GROOVE) loggingGroup.grid(padx=(7, 7), pady=6, row=2, column=0, sticky='nsw') loggingGroup.columnconfigure(1, pad=7) loglevel = get_logging_level() ttk.Label(loggingGroup, text="Level:", borderwidth=0, anchor=tk.E).grid(row=0, column=0, sticky='nsew') self._levelCombo = ttk.Combobox(loggingGroup, exportselection=0, state='readonly', values=list(PreferencesDialog._LOG_LEVELS.values())) index = list(PreferencesDialog._LOG_LEVELS.keys()).index(loglevel) self._levelCombo.current(index) self._levelCombo.grid(row=0, column=1, sticky='nsw') self.entry = self._credentialsview.initial_focus return self.entry # initial focus
def apply(self): from qiskit_chemistry.preferences import Preferences from qiskit_chemistry._logging import (build_logging_config, set_logging_config) from qiskit_aqua import disable_ibmq_account from qiskit_aqua_cmd import Preferences as AquaPreferences try: level_name = self._levelCombo.get() levels = [key for key, value in PreferencesDialog._LOG_LEVELS.items( ) if value == level_name] loglevel = levels[0] preferences = AquaPreferences() disable_ibmq_account(preferences.get_url(), preferences.get_token(), preferences.get_proxies({})) self._credentialsview.apply(preferences) preferences.save() logging_config = build_logging_config(loglevel) preferences = Preferences() preferences.set_logging_config(logging_config) preferences.save() set_logging_config(logging_config) uipreferences = UIPreferences() populate = self._populateDefaults.get() uipreferences.set_populate_defaults(False if populate == 0 else True) uipreferences.save() self._controller.model.get_available_providers() except Exception as e: self.controller.outputview.write_line(str(e))
def set_preferences_logging(): """ Update logging setting with latest external packages """ from qiskit_chemistry._logging import get_logging_level, build_logging_config, set_logging_config from qiskit_chemistry.preferences import Preferences preferences = Preferences() logging_level = logging.INFO if preferences.get_logging_config() is not None: set_logging_config(preferences.get_logging_config()) logging_level = get_logging_level() preferences.set_logging_config(build_logging_config(logging_level)) preferences.save()
def _discover_preferences_drivers(): """ Discovers the chemistry drivers on the directory and subdirectories of the preferences package and attempts to register them. Drivers modules should subclass BaseDriver Base class. """ preferences = Preferences() packages = preferences.get_packages(Preferences.PACKAGE_TYPE_DRIVERS, []) for package in packages: try: mod = importlib.import_module(package) if mod is not None: _discover_local_drivers_in_dirs( os.path.dirname(mod.__file__), mod.__name__, names_to_exclude=['__main__'], folders_to_exclude=['__pycache__']) else: # Ignore package that could not be initialized. logger.debug('Failed to import package {}'.format(package)) except Exception as e: # Ignore package that could not be initialized. logger.debug('Failed to load package {} error {}'.format( package, str(e)))
def main_chemistry(): try: from qiskit_chemistry import QiskitChemistry from qiskit_chemistry._logging import get_logging_level, build_logging_config, set_logging_config from qiskit_chemistry.preferences import Preferences parser = argparse.ArgumentParser( description='Qiskit Chemistry Command Line Tool') parser.add_argument( 'input', metavar='input', help='Qiskit Chemistry input file or saved JSON input file') group = parser.add_mutually_exclusive_group(required=False) group.add_argument('-o', metavar='output', help='Algorithm Results Output file name') group.add_argument('-jo', metavar='json output', help='Algorithm JSON Output file name') args = parser.parse_args() # update logging setting with latest external packages preferences = Preferences() logging_level = logging.INFO if preferences.get_logging_config() is not None: set_logging_config(preferences.get_logging_config()) logging_level = get_logging_level() preferences.set_logging_config(build_logging_config(logging_level)) preferences.save() set_logging_config(preferences.get_logging_config()) solver = QiskitChemistry() # check to see if input is json file params = None try: with open(args.input) as json_file: params = json.load(json_file) except: pass if params is not None: solver.run_algorithm_from_json(params, args.o) else: if args.jo is not None: solver.run_drive_to_jsonfile(args.input, args.jo) else: result = solver.run(args.input, args.o) if result is not None and 'printable' in result: print( '\n\n--------------------------------- R E S U L T ------------------------------------\n' ) for line in result['printable']: print(line) finally: global _ROOT if _ROOT is not None: _ROOT.destroy() _ROOT = None