def test_log_upload(self): machine_id_file = os.path.join(self.mnemosyne.config().config_dir, "machine.id") f = open(machine_id_file, "w") print("TESTMACHINE", file=f) f.close() self.config().change_user_id("UPLOADTEST") self.config()["max_log_size_before_upload"] = 1 MnemosyneTest.teardown(self) self.mnemosyne = Mnemosyne(upload_science_logs=True, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.gui_translators.gettext_gui_translator", "GetTextGuiTranslator")) self.mnemosyne.components.append(\ ("test_logging", "MyMainWidget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.mnemosyne.start_review() MnemosyneTest.teardown(self) self.mnemosyne = Mnemosyne(upload_science_logs=True, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.gui_translators.gettext_gui_translator", "GetTextGuiTranslator")) self.mnemosyne.components.append(\ ("test_logging", "MyMainWidget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.mnemosyne.start_review() MnemosyneTest.teardown(self) self.mnemosyne = Mnemosyne(upload_science_logs=True, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.gui_translators.gettext_gui_translator", "GetTextGuiTranslator")) self.mnemosyne.components.append(\ ("test_logging", "MyMainWidget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.mnemosyne.start_review()
def test_log_upload_bad_server(self): # Most reliable way of setting this variable is throug config.py, otherwise # it will stay alive in a dangling imported userconfig. config_py_file = os.path.join(self.mnemosyne.config().config_dir, "config.py") f = open(config_py_file, "w") print("science_server = \"noserver:80\"", file=f) f.close() machine_id_file = os.path.join(self.mnemosyne.config().config_dir, "machine.id") f = open(machine_id_file, "w") print("TESTMACHINE", file=f) f.close() self.config().change_user_id("UPLOADTEST") self.config()["max_log_size_before_upload"] = 1 MnemosyneTest.teardown(self) self.mnemosyne = Mnemosyne(upload_science_logs=True, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.gui_translators.gettext_gui_translator", "GetTextGuiTranslator")) self.mnemosyne.components.append(\ ("test_logging", "MyMainWidget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.mnemosyne.start_review() MnemosyneTest.teardown(self) self.mnemosyne = Mnemosyne(upload_science_logs=True, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.gui_translators.gettext_gui_translator", "GetTextGuiTranslator")) self.mnemosyne.components.append(\ ("test_logging", "MyMainWidget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.mnemosyne.start_review()
def load_mnemosyne(self): self.mnemosyne = Mnemosyne(upload_science_logs=True, interested_in_old_reps=True) self.mnemosyne.components.insert( 0, (("mnemosyne.libmnemosyne.translators.gettext_translator", "GetTextTranslator"))) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.main_widget", "MainWidget")) self.mnemosyne.components.append(\ ("mnemosyne.web_server.review_wdgt", "ReviewWdgt")) self.mnemosyne.components.append(\ ("mnemosyne.web_server.web_server_render_chain", "WebServerRenderChain")) self.mnemosyne.initialise(self.data_dir, config_dir=self.config_dir, filename=self.filename, automatic_upgrades=False) self.mnemosyne.review_controller().set_render_chain("web_server") self.save_after_n_reps = self.mnemosyne.config()["save_after_n_reps"] self.mnemosyne.config()["save_after_n_reps"] = 1 self.mnemosyne.start_review() self.mnemosyne.review_widget().set_is_server_local(\ self.is_server_local) self.is_mnemosyne_loaded = True self.release_database_after_timeout = \ ReleaseDatabaseAfterTimeout(self.port) self.release_database_after_timeout.start()
def test_recover_user_id_2(self): assert self.config()["user_id"] is not None MnemosyneTest.teardown(self) open( os.path.join(os.getcwd(), "dot_test", "history", "userid_machine_001.bz2"), "w") os.remove(os.path.join(os.getcwd(), "dot_test", "config.db")) self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.gui_translators.gettext_gui_translator", "GetTextGuiTranslator")) self.mnemosyne.components.append(\ ("test_logging", "MyMainWidget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.mnemosyne.start_review() assert self.config()["user_id"] == "userid"
def setup(self): self.initialise_data_dir() path = os.path.join(os.getcwd(), "..", "mnemosyne", "libmnemosyne", "renderers") if path not in sys.path: sys.path.append(path) self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.gui_translators.gettext_gui_translator", "GetTextGuiTranslator")) self.mnemosyne.components.append(\ ("test_cloze", "Widget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.review_controller().reset() from mnemosyne.libmnemosyne.card_types.cloze import ClozePlugin for plugin in self.plugins(): if isinstance(plugin, ClozePlugin): plugin.activate() break
def restart(self): # If there is another Mnemosyne still running, finalise it so as to # avoid having multiple component_managers active. if hasattr(self, "mnemosyne"): try: self.mnemosyne.finalise() except: pass path = os.path.join(os.getcwd(), "..", "mnemosyne", "libmnemosyne", "renderers") if path not in sys.path: sys.path.append(path) self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert(0, ("mnemosyne.libmnemosyne.gui_translators.gettext_gui_translator", "GetTextGuiTranslator")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.main_widget", "MainWidget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.gui_for_component["CramAll"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.mnemosyne.start_review()
def __init__(self): shutil.rmtree(os.path.abspath("dot_sync_server"), ignore_errors=True) self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.gui_translator", "GetTextGuiTranslator")) self.mnemosyne.components.append(("test_sync", "Widget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.initialise(os.path.abspath("dot_sync_server"), automatic_upgrades=False) self.mnemosyne.config().change_user_id("user_id") self.mnemosyne.review_controller().reset() self.supports_binary_transfer = lambda x: False # Add 20 cards to database. card_type = self.mnemosyne.card_type_with_id("1") for i in range(20): fact_data = {"f": "question %d" % (i, ), "b": "answer"} self.mnemosyne.controller().create_new_cards(fact_data, card_type, grade=-1, tag_names=["default" ])[0] self.mnemosyne.database().save() self.mnemosyne.database().release_connection()
def load_mnemosyne(self): self.mnemosyne = Mnemosyne(upload_science_logs=True, interested_in_old_reps=True) self.mnemosyne.components.insert( 0, (("mnemosyne.libmnemosyne.translators.gettext_translator", "GetTextTranslator"))) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.main_widget", "MainWidget")) self.mnemosyne.components.append(\ ("mnemosyne.web_server.web_server_render_chain", "WebServerRenderChain")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = [\ ("mnemosyne.web_server.review_wdgt", "ReviewWdgt")] self.mnemosyne.initialise(self.data_dir, config_dir=self.config_dir, filename=self.filename, automatic_upgrades=False) self.save_after_n_reps = self.mnemosyne.config()["save_after_n_reps"] self.mnemosyne.config()["save_after_n_reps"] = 1 self.mnemosyne.config()["study_mode"] = "ScheduledForgottenNew" self.mnemosyne.config()["QA_split"] = "fixed" self.mnemosyne.start_review() self.mnemosyne.review_widget().set_client_on_same_machine_as_server(\ self.client_on_same_machine_as_server) self.is_mnemosyne_loaded = True self.release_database_after_timeout = \ ReleaseDatabaseAfterTimeout(self.port) self.release_database_after_timeout.start()
def __init__(self): shutil.rmtree(os.path.abspath("dot_sync_client"), ignore_errors=True) self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True) self.mnemosyne.components = [ ("mnemosyne.libmnemosyne.gui_translator", "NoGuiTranslation"), ("mnemosyne.libmnemosyne.databases.SQLite", "SQLite"), ("mnemosyne.libmnemosyne.configuration", "Configuration"), ("mnemosyne.libmnemosyne.loggers.database_logger", "DatabaseLogger"), ("mnemosyne.libmnemosyne.schedulers.SM2_mnemosyne", "SM2Mnemosyne"), ("mnemosyne.libmnemosyne.stopwatch", "Stopwatch"), ("mnemosyne.libmnemosyne.card_types.front_to_back", "FrontToBack"), ("mnemosyne.libmnemosyne.card_types.both_ways", "BothWays"), ("mnemosyne.libmnemosyne.card_types.vocabulary", "Vocabulary"), ("mnemosyne.libmnemosyne.renderers.html_css", "HtmlCss"), ("mnemosyne.libmnemosyne.filters.escape_to_html", "EscapeToHtml"), ("mnemosyne.libmnemosyne.filters.expand_paths", "ExpandPaths"), ("mnemosyne.libmnemosyne.filters.latex", "Latex"), ("mnemosyne.libmnemosyne.render_chains.default_render_chain", "DefaultRenderChain"), ("mnemosyne.libmnemosyne.render_chains.plain_text_chain", "PlainTextChain"), ("mnemosyne.libmnemosyne.controllers.default_controller", "DefaultController"), ("mnemosyne.libmnemosyne.review_controllers.SM2_controller", "SM2Controller"), ("mnemosyne.libmnemosyne.card_types.map", "MapPlugin"), ("mnemosyne.libmnemosyne.card_types.cloze", "ClozePlugin"), ("mnemosyne.libmnemosyne.criteria.default_criterion", "DefaultCriterion"), ("mnemosyne.libmnemosyne.databases.SQLite_criterion_applier", "DefaultCriterionApplier"), ("mnemosyne.libmnemosyne.plugins.cramming_plugin", "CrammingPlugin") ] self.mnemosyne.components.append(("benchmark_sync_client", "Widget")) self.mnemosyne.components.append( ("benchmark_sync_client", "MyReviewWidget")) self.mnemosyne.initialise(os.path.abspath( os.path.join(os.getcwd(), "dot_sync_client")), automatic_upgrades=False) self.mnemosyne.config().change_user_id("user_id") self.check_for_edited_local_media_files = False self.do_backup = False self.mnemosyne.review_controller().reset() # Do 200 reviews. card_type = self.mnemosyne.card_type_with_id("1") fact_data = {"f": "question", "b": "answer"} card = self.mnemosyne.controller().create_new_cards( fact_data, card_type, grade=-1, tag_names=["default"])[0] self.mnemosyne.database().save() self.mnemosyne.review_controller().show_new_question() for i in range(200): self.mnemosyne.review_controller().show_answer() self.mnemosyne.review_controller().grade_answer(0) Client.__init__(self, "client_machine_id", self.mnemosyne.database(), self.mnemosyne.main_widget())
def restart(self): self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert(0, ("mnemosyne.libmnemosyne.translators.gettext_translator", "GetTextTranslator")) self.mnemosyne.components.append(\ ("test_logging", "MyMainWidget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False)
def setup(self): self.initialise_data_dir() self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert(0, ("mnemosyne.libmnemosyne.translators.gettext_translator", "GetTextTranslator")) self.mnemosyne.components.append(\ ("mnemosyne_test", "TestReviewWidget")) self.mnemosyne.components.append(\ ("test_smconv_import", "Widget")) self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.review_controller().reset()
def setup(self): self.initialise_data_dir() path = os.path.join(os.getcwd(), "..", "mnemosyne", "libmnemosyne", "renderers") if path not in sys.path: sys.path.append(path) self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.translators.gettext_translator", "GetTextTranslator")) self.mnemosyne.components.append(\ ("test_controller", "Widget")) self.mnemosyne.components.append(\ ("test_controller", "ExportWidget")) self.mnemosyne.components.append(\ ("test_controller", "DataWidget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "AddCardsDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "EditCardDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "BrowseCardsDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "SyncDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "ManagePluginsDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "ManageCardTypesDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "StatisticsDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "ConfigurationDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "ActivateCardsDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "ImportDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "TipDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "GettingStartedDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "AboutDialog")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "CompactDatabaseDialog")) self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.review_controller().reset()
def setup(self): self.initialise_data_dir() self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert(0, ("mnemosyne.libmnemosyne.gui_translators.gettext_gui_translator", "GetTextGuiTranslator")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.components.append(\ ("test_mem_import", "Widget")) self.mnemosyne.components.append(\ ("test_mem_import", "MyImportDialog")) self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.review_controller().reset()
def test_setup(): shutil.rmtree("dot_test", ignore_errors=True) global mnemosyne mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True) mnemosyne.components.insert(0, ("mnemosyne.libmnemosyne.translators.gettext_translator", "GetTextTranslator")) mnemosyne.components.append(\ ("test_add_cards", "Widget")) mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "EditCardDialog")) mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) mnemosyne.review_controller().reset()
def restart(self): path = os.path.join(os.getcwd(), "..", "mnemosyne", "libmnemosyne", "renderers") if path not in sys.path: sys.path.append(path) self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert(0, ("mnemosyne.libmnemosyne.gui_translators.gettext_gui_translator", "GetTextGuiTranslator")) self.mnemosyne.components.append(\ ("test_media", "Widget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.review_controller().reset()
def setup(self): self.initialise_data_dir() path = os.path.join(os.getcwd(), "..", "mnemosyne", "libmnemosyne", "renderers") if path not in sys.path: sys.path.append(path) self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert(0, ("mnemosyne.libmnemosyne.gui_translators.gettext_gui_translator", "GetTextGuiTranslator")) self.mnemosyne.components.append(\ ("test_cramming", "Widget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.gui_for_component["CramAll"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.config()["study_mode"] = "CramAll" self.mnemosyne.start_review()
def setup(self): self.initialise_data_dir() self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert(0, ("mnemosyne.libmnemosyne.translators.gettext_translator", "GetTextTranslator")) self.mnemosyne.components.append(\ ("test_cramming", "Widget")) self.mnemosyne.components.append(\ ("mnemosyne_test", "TestReviewWidget")) self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) from mnemosyne.libmnemosyne.plugins.cramming_plugin import CrammingPlugin for plugin in self.plugins(): if isinstance(plugin, CrammingPlugin): plugin.activate() break self.mnemosyne.start_review()
def setup(self): global expected_scheduled_count expected_scheduled_count = None self.initialise_data_dir() self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.translators.gettext_translator", "GetTextTranslator")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.main_widget", "MainWidget")) self.mnemosyne.components.append(\ ("test_review_controller", "MyReviewWidget")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "EditCardDialog")) self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.review_controller().reset()
def restart(self): # If there is another Mnemosyne still running, finalise it so as to # avoid having multiple component_managers active. if hasattr(self, "mnemosyne"): try: self.mnemosyne.finalise() except: pass self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.translators.gettext_translator", "GetTextTranslator")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.main_widget", "MainWidget")) self.mnemosyne.components.append(\ ("mnemosyne_test", "TestReviewWidget")) self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.mnemosyne.start_review()
def setup(self): self.initialise_data_dir() self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert(0, ("mnemosyne.libmnemosyne.translators.gettext_translator", "GetTextTranslator")) self.mnemosyne.components.append(\ ("test_mnemosyne2cards", "Widget")) self.mnemosyne.components.append(\ ("test_mnemosyne2cards", "MyMainWidget")) self.mnemosyne.components.append(\ ("mnemosyne_test", "TestReviewWidget")) self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.review_controller().reset() from mnemosyne.libmnemosyne.card_types.cloze import ClozePlugin for plugin in self.plugins(): if isinstance(plugin, ClozePlugin): plugin.activate() break
def setup(self): self.initialise_data_dir() self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.gui_translators.gettext_gui_translator", "GetTextGuiTranslator")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("mnemosyne_test", "TestReviewWidget")] self.mnemosyne.components.append(\ ("test_db_import", "Widget")) self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.review_controller().reset() self.merge_db_path = os.path.join(os.getcwd(), "tests", "files", "basedir_to_merge", "to_merge.db") self.merge_db_tmppath = os.path.join( os.path.dirname(self.merge_db_path), "to_merge_tmp.db") shutil.copy2(self.merge_db_path, self.merge_db_tmppath)
def startup(): global mnemosyne # Note that this also includes building the queue and getting the first card. mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True) mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.translators.no_translator", "NoTranslator")) mnemosyne.components.append( ("mnemosyne.libmnemosyne.ui_components.main_widget", "MainWidget")) mnemosyne.components.append(("mnemosyne_test", "TestReviewWidget")) mnemosyne.initialise(data_dir=os.path.abspath("dot_benchmark"), automatic_upgrades=False) #mnemosyne.initialise(data_dir="\SDMMC\.mnemosyne", #automatic_upgrades=False) mnemosyne.start_review()
def __init__(self, port, upload_science_logs=False, interested_in_old_reps=False): self.mnemosyne = Mnemosyne(upload_science_logs, interested_in_old_reps) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.translator", "GetTextTranslator")) self.mnemosyne.components.append(\ ("mnemosyne.UDP_server.main_wdgt", "MainWidget")) self.mnemosyne.components.append(\ ("mnemosyne.UDP_server.review_wdgt", "ReviewWdgt")) socketserver.UDPServer.__init__(self, ("localhost", port), MyHandler) print(("Server listening on port", port)) self.stopped = False while not self.stopped: # We time out every 0.25 seconds, so that changing # self.stopped can have an effect. if select.select([self.socket], [], [], 0.25)[0]: self.handle_request() self.socket.close()
def setup(self): global expected_scheduled_count expected_scheduled_count = None self.initialise_data_dir() path = os.path.join(os.getcwd(), "..", "mnemosyne", "libmnemosyne", "renderers") if path not in sys.path: sys.path.append(path) self.mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True, asynchronous_database=True) self.mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.translators.gettext_translator", "GetTextTranslator")) self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.main_widget", "MainWidget")) self.mnemosyne.gui_for_component["ScheduledForgottenNew"] = \ [("test_review_controller", "MyReviewWidget")] self.mnemosyne.components.append(\ ("mnemosyne.libmnemosyne.ui_components.dialogs", "EditCardDialog")) self.mnemosyne.initialise(os.path.abspath("dot_test"), automatic_upgrades=False) self.review_controller().reset()
# # mnemosyne_android.py <*****@*****.**> # import os # Workaround for this bug: # https://github.com/pyinstaller/pyinstaller/issues/1113 import encodings.idna # Initialise Mnemosyne. from mnemosyne.libmnemosyne import Mnemosyne mnemosyne = Mnemosyne(upload_science_logs=False, interested_in_old_reps=True) mnemosyne.components = [\ ("mnemosyne.libmnemosyne.translators.no_translator", "NoTranslator"), ("mnemosyne.libmnemosyne.databases.SQLite", "SQLite"), ("mnemosyne.cle.database_maintenance", "AndroidDatabaseMaintenance"), ("mnemosyne.libmnemosyne.configuration", "Configuration"), ("mnemosyne.libmnemosyne.loggers.database_logger", "DatabaseLogger"), ("mnemosyne.libmnemosyne.schedulers.SM2_mnemosyne", "SM2Mnemosyne"), ("mnemosyne.libmnemosyne.stopwatch", "Stopwatch"), ("mnemosyne.libmnemosyne.card_types.front_to_back", "FrontToBack"),
def startup(): import gettext _ = gettext.gettext import os import sys from optparse import OptionParser from PyQt5.QtGui import QApplication from mnemosyne.libmnemosyne import Mnemosyne # Parse options. parser = OptionParser() parser.usage = "%prog [<database_file>]" parser.add_option("-d", "--datadir", dest="data_dir", help=_("data directory"), default=None) (options, args) = parser.parse_args() # Check if we have to override the data_dir determined in libmnemosyne, # either because we explicitly specified a data_dir on the command line, # or because there is a mnemosyne2 directory present in the current directory. # The latter is handy when Mnemosyne is run from a USB key, so that there # is no need to refer to a drive letter which can change from computer to # computer. data_dir = None if options.data_dir != None: data_dir = os.path.abspath(options.data_dir) elif os.path.exists(os.path.join(os.getcwd(), "mnemosyne2")): data_dir = os.path.abspath(os.path.join(os.getcwd(), "mnemosyne2")) # Filename argument. if len(args) > 0: filename = os.path.abspath(args[0]) else: filename = None # Load the Mnemosyne library. mnemosyne = Mnemosyne(upload_science_logs=True) # Initialise GUI toolkit. a = QApplication(sys.argv) a.setApplicationName("Mnemosyne") # TODO: install translator for Qt messages. # Under Windows, move out of library.zip to get the true prefix. # from mnemosyne.pyqt_ui.main_window import prefix #if sys.platform == "win32": # prefix = os.path.split(prefix)[0] # prefix = os.path.split(prefix)[0] # prefix = os.path.split(prefix)[0] #translator = QTranslator(a) #translator.load("qt_" + loc + ".qm", os.path.join(prefix, 'locale')) #a.installTranslator(translator) # Add other components we need. The translator should obviously come first, # and the UI components should come in the order they should be instantiated, # but apart from that, the order does not matter. mnemosyne.components.insert( 0, ("mnemosyne.libmnemosyne.translator", "GetTextTranslator")) mnemosyne.components.append(("mnemosyne.pyqt_ui.main_wdgt", "MainWdgt")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.review_wdgt", "ReviewWdgt")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.configuration", "PyQtConfiguration")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.pyqt_render_chain", "PyQtRenderChain")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.add_cards_dlg", "AddCardsDlg")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.edit_card_dlg", "EditCardDlg")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.browse_cards_dlg", "BrowseCardsDlg")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.activate_cards_dlg", "ActivateCardsDlg")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.cloned_card_types_list_dlg", "ClonedCardTypesListDlg")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.card_appearance_dlg", "CardAppearanceDlg")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.activate_plugins_dlg", "ActivatePluginsDlg")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.statistics_dlg", "StatisticsDlg")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.card_type_wdgt_generic", "GenericCardTypeWdgt")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.statistics_wdgts_plotting", "ScheduleWdgt")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.statistics_wdgts_plotting", "RetentionScoreWdgt")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.statistics_wdgts_plotting", "GradesWdgt")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.statistics_wdgts_plotting", "EasinessWdgt")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.statistics_wdgts_plotting", "CardsAddedWdgt")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.statistics_wdgt_html", "HtmlStatisticsWdgt")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.criterion_wdgt_default", "DefaultCriterionWdgt")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.configuration_dlg", "ConfigurationDlg")) mnemosyne.components.append(("mnemosyne.pyqt_ui.sync_dlg", "SyncDlg")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.qt_sync_server", "QtSyncServer")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.configuration_wdgt_main", "ConfigurationWdgtMain")) mnemosyne.components.append( ("mnemosyne.pyqt_ui.configuration_wdgt_sync_server", "ConfigurationWdgtSyncServer")) # Run Mnemosyne. mnemosyne.initialise(data_dir=data_dir, filename=filename) mnemosyne.main_widget().show() mnemosyne.main_widget().raise_() # Needed for OSX. # TODO: check first run wizard. #if config()["first_run"] == True: # w.productTour() # config()["first_run"] = False #elif config()["show_daily_tips"] == True: # w.Tip() a.exec_() mnemosyne.finalise()