def apply(self): try: level_name = self._levelCombo.get() levels = [key for key, value in PreferencesDialog._LOG_LEVELS.items() if value == level_name] loglevel = levels[0] preferences = Preferences() self._qconfigview.apply(preferences) self._packagesPage.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.get_available_backends() except Exception as e: self.controller.outputview.write_line(str(e))
def _set_preferences_logging(self): from qiskit_aqua_cmd.preferences import Preferences from qiskit_aqua._logging import set_logging_config preferences = Preferences() config = preferences.get_logging_config() if config is not None: set_logging_config(config)
def main_algorithm(): try: from qiskit_aqua._logging import get_logging_level, build_logging_config, set_logging_config from qiskit_aqua_cmd import Preferences from qiskit_aqua import run_algorithm from qiskit_aqua.utils import convert_json_to_dict parser = argparse.ArgumentParser( description='Qiskit Aqua Command Line Tool') parser.add_argument('input', metavar='input', help='Algorithm JSON input file') parser.add_argument('-jo', metavar='output', help='Algorithm JSON output file name', required=False) 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()) params = None with open(args.input) as json_file: params = json.load(json_file) ret = run_algorithm(params, None, True) if args.jo is not None: with open(args.jo, 'w') as f: print('{}'.format(ret), file=f) else: convert_json_to_dict(ret) print( '\n\n--------------------------------- R E S U L T ------------------------------------\n' ) if isinstance(ret, dict): for k, v in ret.items(): print("'{}': {}".format(k, v)) else: print(ret) finally: global _ROOT if _ROOT is not None: _ROOT.destroy() _ROOT = None
def set_preferences_logging(): """ Update logging setting with latest external packages """ from qiskit_aqua._logging import get_logging_level, build_logging_config, set_logging_config from qiskit_aqua.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() set_logging_config(preferences.get_logging_config())
def main(): if sys.platform == 'darwin': from Foundation import NSBundle bundle = NSBundle.mainBundle() if bundle: info = bundle.localizedInfoDictionary() or bundle.infoDictionary() info['CFBundleName'] = 'Qiskit Aqua' root = tk.Tk() root.withdraw() root.update_idletasks() preferences = UIPreferences() geometry = preferences.get_run_geometry() if geometry is None: ws = root.winfo_screenwidth() hs = root.winfo_screenheight() w = int(ws / 1.3) h = int(hs / 1.3) x = int(ws/2 - w/2) y = int(hs/2 - h/2) geometry = '{}x{}+{}+{}'.format(w,h,x,y) preferences.set_run_geometry(geometry) preferences.save() root.geometry(geometry) # 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()) MainView(root) root.after(0, root.deiconify) root.mainloop()
def apply(self): from qiskit_aqua_cmd import Preferences from qiskit_aqua import disable_ibmq_account from qiskit_aqua._logging import (build_logging_config, set_logging_config) try: level_name = self._levelCombo.get() levels = [ key for key, value in PreferencesDialog._LOG_LEVELS.items() if value == level_name ] loglevel = levels[0] preferences = Preferences() 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 _create_pane(self): label_font = font.nametofont('TkHeadingFont').copy() label_font.configure(size=12, weight='bold') ttk.Style().configure('TLabel', borderwidth=1, relief='solid') style = ttk.Style() style.configure('Title.TLabel', borderwidth=0, anchor=tk.CENTER) label = ttk.Label(self, style='Title.TLabel', padding=(5, 5, 5, 5), textvariable=self._controller._title) label['font'] = label_font label.pack(side=tk.TOP, expand=tk.NO, fill=tk.X) main_pane = ttk.PanedWindow(self, orient=tk.VERTICAL) main_pane.pack(expand=tk.YES, fill=tk.BOTH) top_pane = ttk.PanedWindow(main_pane, orient=tk.HORIZONTAL) top_pane.pack(expand=tk.YES, fill=tk.BOTH) main_pane.add(top_pane) self._controller._sectionsView = SectionsView( self._controller, top_pane) self._controller._sectionsView.pack(expand=tk.YES, fill=tk.BOTH) top_pane.add(self._controller._sectionsView, weight=1) main_container = tk.Frame(top_pane) main_container.pack(expand=tk.YES, fill=tk.BOTH) style = ttk.Style() style.configure('PropViewTitle.TLabel', borderwidth=1, relief=tk.RIDGE, anchor=tk.CENTER) label = ttk.Label(main_container, style='PropViewTitle.TLabel', padding=(5, 5, 5, 5), textvariable=self._controller._sectionView_title) label['font'] = label_font label.pack(side=tk.TOP, expand=tk.NO, fill=tk.X) container = tk.Frame(main_container) container.pack(side=tk.BOTTOM, expand=tk.YES, fill=tk.BOTH) container.grid_rowconfigure(0, weight=1) container.grid_columnconfigure(0, weight=1) self._controller._emptyView = EmptyView(container) self._controller._emptyView.grid(row=0, column=0, sticky='nsew') self._controller._textView = SectionTextView( self._controller, container) self._controller._textView.grid(row=0, column=0, sticky='nsew') self._controller._propertiesView = SectionPropertiesView( self._controller, container) self._controller._propertiesView.grid(row=0, column=0, sticky='nsew') self._controller._emptyView.tkraise() top_pane.add(main_container, weight=1) self._controller._outputView = ThreadSafeOutputView(main_pane) self._controller._outputView.pack(expand=tk.YES, fill=tk.BOTH) main_pane.add(self._controller._outputView) # redirect output sys.stdout = self._controller._outputView sys.stderr = self._controller._outputView # reupdate logging after redirect preferences = Preferences() config = preferences.get_logging_config() if config is not None: set_logging_config(config) self.update_idletasks() self._controller._sectionsView.show_add_button(False) self._controller._sectionsView.show_remove_button(False) self._controller._sectionsView.show_defaults_button(False) self._controller._emptyView.set_toolbar_size( self._controller._sectionsView.get_toolbar_size())
def body(self,parent,options): 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) qiskitGroup = ttk.LabelFrame(parent, text='Qiskit Configuration', padding=(6,6,6,6), borderwidth=4, relief=tk.GROOVE) qiskitGroup.grid(padx=(7,7),pady=6,row=0, column=0,sticky='nsew') self._qconfigview = QconfigView(qiskitGroup) 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') packagesGroup = ttk.LabelFrame(parent, text='Packages', padding=(6,6,6,6), borderwidth=4, relief=tk.GROOVE) packagesGroup.grid(padx=(7,7),pady=6,row=2, column=0,sticky='nsw') packagesGroup.columnconfigure(1,pad=7) frame = ttk.Frame(packagesGroup) frame.grid(row=0, column=0,sticky='nsew') self._packagesPage = PackagesPage(frame,preferences) self._packagesPage.pack(side=tk.TOP,fill=tk.BOTH, expand=tk.TRUE) self._packagesPage.show_add_button(True) self._packagesPage.show_remove_button(self._packagesPage.has_selection()) self._packagesPage.show_defaults_button(False) 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=3, 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._qconfigview.initial_focus return self.entry # initial focus
def body(self, parent, options): from qiskit_aqua._logging import (get_logging_level, set_logging_config) from qiskit_aqua_cmd import Preferences 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