• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python translator._函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中mnemosyne.libmnemosyne.translator._函数的典型用法代码示例。如果您正苦于以下问题:Python _函数的具体用法?Python _怎么用?Python _使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了_函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: backup_old_dir

    def backup_old_dir(self):  # pragma: no cover
        join = os.path.join
        # We only do this on OSX, since on the other platforms, we use a
        # different directory anyway.
        if sys.platform == "darwin":
            home = os.path.expanduser("~")
            old_data_dir = join(unicode(home), "Library", "Mnemosyne")
            backup_dir = join(unicode(home), "Library", "Mnemosyne_1")
            # Work around os.path.exists seeming to give wrong results on
            # OSX 10.6 (but not 10.7).
            if os.path.exists(join(old_data_dir, "default.db")):
                # Data was already backed up.
                return
            if os.path.exists(old_data_dir):
                if not os.path.exists(backup_dir):
                    old_files = sorted(os.listdir(old_data_dir))
                    shutil.move(old_data_dir, backup_dir)
                    new_files = sorted(os.listdir(backup_dir))
                    assert old_files == new_files
                    self.main_widget().show_information(\
                _("Your old 1.x files are now stored here:\n\n" + backup_dir))
                else:
                    self.main_widget().show_error(\
_("Tried to backup your old 1.x files to %s, but that directory already exists.") \
                    % (backup_dir,))
                    sys.exit()
开发者ID:tbabej,项目名称:mnemosyne,代码行数:26,代码来源:upgrade1.py


示例2: show_save_file_as_dialog

    def show_save_file_as_dialog(self):
        self.stopwatch().pause()
        if self.config()["single_database_help_shown"] == False:
            self.main_widget().show_information(_(self.single_database_help))
            self.config()["single_database_help_shown"] = True
        self.flush_sync_server()
        suffix = self.database().suffix
        old_path = expand_path(self.config()["last_database"], self.config().data_dir)
        old_media_dir = self.database().media_dir()
        filename = self.main_widget().get_filename_to_save(path=old_path,
            filter=_("Mnemosyne databases") + " (*%s)" % suffix)
        if not filename:
            self.stopwatch().unpause()
            return
        if filename.endswith("config.db"):
            self.main_widget().show_information(\
_("The configuration database cannot be used to store cards."))
            self.stopwatch().unpause()
            return          
        if not filename.endswith(suffix):
            filename += suffix
        try:
            self.database().save(filename)
            new_media_dir = self.database().media_dir()
            if old_media_dir == new_media_dir:
                return
            if os.path.exists(new_media_dir):
                shutil.rmtree(new_media_dir)
            shutil.copytree(old_media_dir, new_media_dir)
            self.log().saved_database()
        except RuntimeError, error:
            self.main_widget().show_error(unicode(error.message))
            self.stopwatch().unpause()
            return
开发者ID:tbabej,项目名称:mnemosyne,代码行数:34,代码来源:default_controller.py


示例3: show_download_source_dialog

    def show_download_source_dialog(self):

        """The following code is here to be able to enforce the AGPL licence.

        If you run Mnemosyne as a service over the network, you need to provide
        users the option to download your modified version of libmnemosyne and
        the Mnemosyne HTML server.

        The recommended way to do this is to provide a link at the bottom of
        the webpage saying "Flash cards by Mnemosyne", with "Mnemosyne" a link
        taking you to a page with download instructions for the copy of
        Mnemosyne you are using.

        Even if you are using an unmodified version of Mnemosyne, you should
        still host a copy of that source code on your site, in order to set an
        example for people who do modify the source.

        """

        self.stopwatch().pause()
        self.flush_sync_server()
        self.main_widget().show_information(\
            _("For instructions on how to download Mnemosyne's source,") + \
            " " + _("go to http://www.mnemosyne-proj.org"))
        self.stopwatch().unpause()
开发者ID:tbabej,项目名称:mnemosyne,代码行数:25,代码来源:default_controller.py


示例4: edit_card_and_sisters

 def edit_card_and_sisters(self, card, new_fact_data, new_card_type,
         new_tag_names, correspondence):
     db = self.database()
     sch = self.scheduler()
     assert new_card_type.is_fact_data_valid(new_fact_data)
     # Determine the current tags in use for the sister cards. This
     # needs to be done before e.g. editing a cloze card creates new
     # cards which are as yet untagged.
     fact = db.fact(card.fact._id, is_id_internal=True)
     current_sister_cards = self.database().cards_from_fact(fact)
     current_tag_strings = set([sister_card.tag_string() \
         for sister_card in current_sister_cards])        
     # Change the card type if needed. This does not take into account
     # changes to fact yet, which will come just afterwards.
     result = self._change_card_type(card.fact, card.card_type,
         new_card_type, correspondence, new_fact_data)
     if result in [-2, -1]:  # Error, aborted.
         return result
     # When there was no card type conversion possible, the cards had to
     # be recreated from the new fact data. In that case, it is needed to
     # reload the fact from the database.
     fact = db.fact(card.fact._id, is_id_internal=True)
     # Update fact and create, delete and update cards.
     new_cards, edited_cards, deleted_cards = \
         new_card_type.edit_fact(fact, new_fact_data)
     fact.data = new_fact_data
     db.update_fact(fact)
     for deleted_card in deleted_cards:
         if self.review_controller().card == deleted_card:
             self.review_controller().card = None
         sch.remove_from_queue_if_present(deleted_card)
         db.delete_card(deleted_card)
     for new_card in new_cards:
         db.add_card(new_card)
     for edited_card in edited_cards:
         db.update_card(edited_card)
     if new_cards and self.review_controller().learning_ahead == True:
         self.review_controller().reset()
     # Apply new tags and modification time to cards and save them back to
     # the database. Note that this makes sure there is an EDITED_CARD log
     # entry for each sister card, which is needed when syncing with a
     # partner that does not have the concept of facts.
     tag_for_current_card_only = False
     if len(current_tag_strings) > 1:
         tag_for_current_card_only = bool(self.main_widget().show_question(
         _("This card has different tags than its sister cards. Update tags for current card only or for all sister cards?"),
         _("Current card only"), _("All sister cards"), "") == 0)
     old_tags = set()
     tags = db.get_or_create_tags_with_names(new_tag_names)
     modification_time = int(time.time())
     for sister_card in self.database().cards_from_fact(fact):
         sister_card.modification_time = modification_time
         if sister_card == card or not tag_for_current_card_only:
             old_tags = old_tags.union(sister_card.tags)
             sister_card.tags = tags
         db.update_card(sister_card)
     for tag in old_tags:
         db.delete_tag_if_unused(tag)
     db.save()
     return 0
开发者ID:tbabej,项目名称:mnemosyne,代码行数:60,代码来源:default_controller.py


示例5: delete_facts_and_their_cards

 def delete_facts_and_their_cards(self, facts, progress_bar=True):
     assert len(facts) == len([fact.id for fact in facts])
     db = self.database()
     w = self.main_widget()
     if progress_bar:
         w.set_progress_text(_("Deleting cards..."))
         w.set_progress_range(len(facts))
         w.set_progress_update_interval(50)
     for fact in facts:
         for card in db.cards_from_fact(fact):
             self.scheduler().remove_from_queue_if_present(card)
             db.delete_card(card, check_for_unused_tags=False)
         db.delete_fact(fact)
         if progress_bar:
             w.increase_progress(1)
     tags = db.tags()
     if progress_bar:
         w.set_progress_text(_("Checking for unused tags..."))
         w.set_progress_range(len(tags))
     tags = db.tags()
     for tag in tags:
         db.delete_tag_if_unused(tag)
         if progress_bar:
             w.increase_progress(1)
     db.save()
     if progress_bar:
         w.close_progress()
开发者ID:tbabej,项目名称:mnemosyne,代码行数:27,代码来源:default_controller.py


示例6: initialise_card_types_combobox

 def initialise_card_types_combobox(self, current_card_type_name):
     # We calculate card_type_by_name here because these names can change
     # if the user chooses another translation.
     self.card_type_by_name = {}
     self.card_type = None
     self.card_type_index = 0
     self.card_type_widget = None
     self.previous_tags = None
     self.previous_card_type_name = current_card_type_name
     db_sorted_card_types = self.database().sorted_card_types()
     for card_type in db_sorted_card_types:
         if _(card_type.name) == current_card_type_name:
             self.card_type = card_type
             self.card_type_index = self.card_types_widget.count()
         self.card_type_by_name[_(card_type.name)] = card_type
         self.card_types_widget.addItem(_(card_type.name))
     if not self.card_type:
         self.card_type = db_sorted_card_types[0]
         self.card_type_index = 0
     self.card_types_widget.setCurrentIndex(self.card_type_index)
     # Now that the combobox is filled, we can connect the signal.
     self.card_types_widget.currentIndexChanged[QtCore.QString].\
         connect(self.card_type_changed)
     self.correspondence = {}  # Used when changing card types.
     self.update_card_widget()
开发者ID:tbabej,项目名称:mnemosyne,代码行数:25,代码来源:add_cards_dlg.py


示例7: initialise

    def initialise(self, data_dir=None, config_dir=None,
                   filename=None, automatic_upgrades=True, debug_file=None, 
                   server_only=False):

        """The automatic upgrades of the database can be turned off by setting
        'automatic_upgrade' to False. This is mainly useful for the testsuite.

        """

        if debug_file:
            self.component_manager.debug_file = open(debug_file, "w", 0)
        self.register_components()
        # Upgrade from 1.x if needed.
        if automatic_upgrades:
            from mnemosyne.libmnemosyne.upgrades.upgrade1 import Upgrade1
            Upgrade1(self.component_manager).backup_old_dir()
        if data_dir:
            self.config().data_dir = data_dir
            self.config().config_dir = data_dir
        if config_dir:
            self.config().config_dir = config_dir
        # Upgrade config if needed.
        if automatic_upgrades:
            from mnemosyne.libmnemosyne.upgrades.upgrade3 import Upgrade3
            Upgrade3(self.component_manager).run() 
        self.activate_components()
        register_component_manager(self.component_manager,
            self.config()["user_id"])
        self.execute_user_plugin_dir()
        self.activate_saved_plugins()
        # If we are only running a sync or a review server, do not yet load
        # the database to prevent threading access issues.
        if server_only:
            if filename:
                self.config()["last_database"] = \
                    contract_path(filename, self.config().data_dir)
            return
        # Loading the database should come after all user plugins have been
        # loaded, since these could be needed e.g. for a card type in the
        # database.
        if filename and not filename.endswith(".db"):
            from mnemosyne.libmnemosyne.translator import _
            self.main_widget().show_error(\
                _("Command line argument is not a *.db file."))
            sys.exit()
        self.load_database(filename)
        # Only now that the database is loaded, we can start writing log
        # events to it. This is why we log started_scheduler and
        # loaded_database manually.
        try:
            self.log().started_program()
        except Exception, e:
            if "lock" in str(e):
                from mnemosyne.libmnemosyne.translator import _
                self.main_widget().show_error(\
                 _("Another copy of Mnemosyne is still running.") + "\n" + \
                 _("Continuing is impossible and will lead to data loss!"))
                sys.exit()
            else:
                raise e
开发者ID:tbabej,项目名称:mnemosyne,代码行数:60,代码来源:__init__.py


示例8: add_card_type_from_log_entry

 def add_card_type_from_log_entry(self, log_entry):
     already_imported = self.con.execute(\
         "select count() from card_types where id=?",
         (log_entry["o_id"], )).fetchone()[0] != 0
     if "name" not in log_entry:
         log_entry["name"] = "dummy"  # Added and immediately deleted.
     same_name_in_database = self.con.execute(\
         "select count() from card_types where name=? and id!=?",
         (log_entry["name"], log_entry["o_id"] )).fetchone()[0] == 1
     if same_name_in_database:
         # Merging with the card type which is already in the database
         # is more difficult, as then the card type links in the cards
         # would need to be updated.
         if self.importing:  # Don't interrupt sync with dialog.
             self.main_widget().show_information(\
 _("Card type '%s' already in database, renaming new card type to '%s (1)'" \
             % (log_entry["name"], log_entry["name"])))
         log_entry["name"] += " (1)"
     if already_imported and self.importing:
         log_entry["type"] = EventTypes.EDITED_CARD_TYPE
         return self.update_card_type(\
             self.card_type_from_log_entry(log_entry))
     try:
         card_type = self.card_type_from_log_entry(log_entry)
         self.activate_plugins_for_card_type_with_id(card_type.id)
         self.add_card_type(card_type)
     except sqlite3.IntegrityError:
         # Leftover from old bug, should not reoccur.
         self.main_widget().show_information(\
 _("Creating same card type twice during sync. Inform the developpers."))            
开发者ID:tbabej,项目名称:mnemosyne,代码行数:30,代码来源:SQLite_sync.py


示例9: __init__

 def __init__(self, component_manager, parent):
     ConfigurationWidget.__init__(self, component_manager)
     QtGui.QDialog.__init__(self, parent)
     self.setupUi(self)
     sync_port = self.config()["sync_server_port"]
     web_port = self.config()["web_server_port"]
     self.sync_server_initially_running = self.is_server_running(sync_port)
     self.web_server_initially_running = self.is_server_running(web_port)
     self.run_sync_server.setChecked(self.config()["run_sync_server"])
     self.sync_port.setValue(sync_port)
     self.username.setText(self.config()["remote_access_username"])
     self.password.setText(self.config()["remote_access_password"])
     self.check_for_edited_local_media_files.setChecked(\
         self.config()["check_for_edited_local_media_files"])
     self.run_web_server.setChecked(self.config()["run_web_server"])
     self.web_port.setValue(web_port)
     if self.is_server_running(sync_port):
         self.sync_server_status.setText(_("Sync server running on ") + \
             localhost_IP() + " .")
     else:
         self.sync_server_status.setText(_("Sync server NOT running."))
     if self.is_server_running(web_port):
         self.web_server_status.setText(_("Web server running on ") + \
            "http://" + localhost_IP() + ":" + str(web_port) + " .")
     else:
         self.web_server_status.setText(_("Web server NOT running."))
开发者ID:tbabej,项目名称:mnemosyne,代码行数:26,代码来源:configuration_wdgt_servers.py


示例10: build_plugin_list

 def build_plugin_list(self):
     plugin_dir = os.path.join(self.config().data_dir, "plugins")
     self.can_be_deleted = [filename.rsplit(".", 1)[0] for \
         filename in os.listdir(plugin_dir) \
         if filename.endswith(".manifest")]
     self.plugin_list.clear()
     self.previously_active = {}
     self.plugin_with_name = {}
     for plugin in self.plugins():
         list_item = QtGui.QListWidgetItem(_(plugin.name))
         list_item.setFlags(list_item.flags() \
             | QtCore.Qt.ItemIsUserCheckable)
         self.plugin_with_name[_(plugin.name)] = plugin
         active = \
             plugin.__class__.__name__ in self.config()["active_plugins"]
         self.previously_active[_(plugin.name)] = active
         if active:
             list_item.setCheckState(QtCore.Qt.Checked)
         else:
             list_item.setCheckState(QtCore.Qt.Unchecked)
         self.plugin_list.addItem(list_item)
     self.plugin_list.setCurrentRow(self.last_selected_row)
     self.plugin_description.setText(_(self.plugins()[0].description))
     self.delete_button.setEnabled(\
         self.plugins()[0].__class__.__name__ in self.can_be_deleted)
开发者ID:tbabej,项目名称:mnemosyne,代码行数:25,代码来源:manage_plugins_dlg.py


示例11: save_set

 def save_set(self):
     criterion = self.tab_widget.currentWidget().criterion()
     if criterion.is_empty():
         self.main_widget().show_error(_("This set can never contain any cards!"))
         return
     CardSetNameDlg(self.component_manager, criterion, self.criteria_by_name.keys(), self).exec_()
     if not criterion.name:  # User cancelled.
         return
     if criterion.name in self.criteria_by_name.keys():
         answer = self.main_widget().show_question(_("Update this set?"), _("&OK"), _("&Cancel"), "")
         if answer == 1:  # Cancel.
             return
         original_criterion = self.criteria_by_name[criterion.name]
         criterion._id = original_criterion._id
         criterion.id = original_criterion.id
         self.database().update_criterion(criterion)
     else:
         self.database().add_criterion(criterion)
     self.update_saved_sets_pane()
     item = self.saved_sets.findItems(criterion.name, QtCore.Qt.MatchExactly)[0]
     self.saved_sets.setCurrentItem(item)
     if self.config()["showed_help_on_renaming_sets"] == False:
         self.main_widget().show_information(
             _("You can right-click on the name of a saved set to rename or delete it.")
         )
         self.config()["showed_help_on_renaming_sets"] = True
开发者ID:tbabej,项目名称:mnemosyne,代码行数:26,代码来源:activate_cards_dlg.py


示例12: run

    def run(self):
        # Use shown_question here, since this is implemented to block.
        answer = self.main_widget().show_question(\
_("About to archive old logs to improve running speed. Depending on the size of your database and the speed of your device, this can take 10 minutes or more. Please leave Mnemosyne running in the foreground."),
        _("OK, proceed"), "", "")
        if answer == 0:
            DatabaseMaintenance.run(self)
开发者ID:tbabej,项目名称:mnemosyne,代码行数:7,代码来源:database_maintenance.py


示例13: grade_answer

    def grade_answer(self, grade):

        """Note that this also pulls in a new question."""
        
        card_to_grade = self.card
        old_grade = card_to_grade.grade
        self.update_counters(old_grade, grade)
        self.rep_count += 1
        if self.scheduler().allow_prefetch():
            self.new_question()
            interval = self.scheduler().grade_answer(card_to_grade, grade)
            self.database().update_card(card_to_grade, repetition_only=True)
            if self.rep_count % self.config()["save_after_n_reps"] == 0:
                self.database().save()
        else:
            interval = self.scheduler().grade_answer(card_to_grade, grade)
            self.database().update_card(card_to_grade, repetition_only=True)
            if self.rep_count % self.config()["save_after_n_reps"] == 0:
                self.database().save()
            self.new_question()     
        if self.config()["show_intervals"] == "status_bar":
            import math
            days = int(math.ceil(interval / (24.0 * 60 * 60)))
            self.widget.update_status_bar(_("Returns in") + " " + \
                  str(interval) + _(" day(s)."))
开发者ID:bartosh,项目名称:pomni,代码行数:25,代码来源:SM2_controller.py


示例14: reset_to_defaults

 def reset_to_defaults(self):
     answer = self.main_widget().show_question(\
         _("Reset current tab to defaults?"), _("&Yes"), _("&No"), "")
     if answer == 1:
         return
     self.order.setCurrentIndex(0)
     self.store_state.setCheckState(QtCore.Qt.Checked)
开发者ID:tbabej,项目名称:mnemosyne,代码行数:7,代码来源:configuration_wdgt_cramming.py


示例15: next_rep_string

 def next_rep_string(self, days):
     if days == 0:
         return '\n' + _("Next repetition: today.")
     elif days == 1:
         return '\n' + _("Next repetition: tomorrow.")
     else:
         return '\n' + _("Next repetition in ") + str(days) + _(" days.")
开发者ID:tbabej,项目名称:mnemosyne,代码行数:7,代码来源:SM2_controller.py


示例16: create_cards_from_mnemosyne1

 def create_cards_from_mnemosyne1(self, extra_tag_names):
     w = self.main_widget()
     # See if the file was imported before.
     try:
         card = self.database().card(self.items[0].id, is_id_internal=False)
     except:
         card = None
     if card:
         w.show_error(\
             _("These cards seem to have been imported before. Aborting..."))
         raise MnemosyneError
     w.set_progress_text(_("Importing cards..."))
     w.set_progress_range(len(self.items))
     w.set_progress_update_interval(len(self.items)/50)
     self.map_plugin_activated = False
     self.items_by_id = {}
     for item in self.items:
         item.id = str(item.id)
         while item.id in self.items_by_id:
             item.id = "dup" + item.id
         self.items_by_id[item.id] = item
     for item in self.items: 
         w.increase_progress(1)
         self.create_card_from_item(item, extra_tag_names)
     w.set_progress_value(len(self.items))
开发者ID:tbabej,项目名称:mnemosyne,代码行数:25,代码来源:mnemosyne1.py


示例17: _import_logs

 def _import_logs(self, filename):
     progress = self.main_widget().get_progress_dialog()
     progress.set_text(_("Importing history..."))
     parser = ScienceLogParser(self.database(),
         ids_to_parse=self.items_by_id)
     log_dir = os.path.join(os.path.dirname(filename), "history")
     if not os.path.exists(log_dir):
         self.main_widget().information_box(\
             _("No history found to import."))
         return
     filenames = [os.path.join(log_dir, logname) for logname in \
         sorted(os.listdir(unicode(log_dir))) if logname.endswith(".bz2")]       
     # log.txt can also contain data we need to import, especially on the
     # initial upgrade from 1.x. 'ids_to_parse' will make sure we only pick
     # up the relevant events. (If we do the importing after having used
     # 2.x for a while, there could be duplicate load events, etc, but these
     # don't matter.)
     filenames.append(os.path.join(os.path.dirname(filename), "log.txt"))
     progress.set_range(0, len(filenames))
     for count, filename in enumerate(filenames):
         progress.set_value(count)
         try:
             parser.parse(filename)
         except:
             self.main_widget().information_box(\
                 _("Ignoring unparsable file:") + " " + filename)
     progress.set_value(len(filenames))
开发者ID:bartosh,项目名称:pomni,代码行数:27,代码来源:mnemosyne1_mem.py


示例18: delete_current_fact

 def delete_current_fact(self):
     self.stopwatch().pause()
     db = self.database()
     review_controller = self.review_controller()
     fact = review_controller.card.fact
     no_of_cards = len(db.cards_from_fact(fact))
     if no_of_cards == 1:
         question = _("Delete this card?")
     elif no_of_cards == 2:
         question = _("Delete this card and 1 related card?") + " "  +\
                   _("Are you sure you want to do this,") + " " +\
       _("and not just deactivate cards in the 'Activate cards' dialog?")
     else:
         question = _("Delete this card and") + " " + str(no_of_cards - 1) \
                    + " " + _("related cards?") + " " +\
                    _("Are you sure you want to do this,") + " " +\
       _("and not just deactivate cards in the 'Activate cards' dialog?")
     answer = self.main_widget().question_box(question, _("&Delete"),
                                       _("&Cancel"), "")
     if answer == 1: # Cancel.
         self.stopwatch().unpause()
         return
     db.delete_fact_and_related_data(fact)
     db.save()
     review_controller.reload_counters()
     review_controller.rebuild_queue()
     review_controller.new_question()
     review_controller.update_status_bar()
     review_controller.update_dialog(redraw_all=True)
     self.stopwatch().unpause()
开发者ID:axelson,项目名称:pomni,代码行数:30,代码来源:default_controller.py


示例19: save

 def save(self, path=None):
     # Don't erase a database which failed to load.
     if self.load_failed == True:
         return -1
     if not path:
         path = self.config()["path"]
     path = expand_path(path, self.config().basedir)
     # Update version.
     self.global_variables["version"] = self.version
     # Work around a sip bug: don't store card types, but their ids.
     for f in self.facts:
         f.card_type = f.card_type.id
     try:
         # Write to a backup file first, as shutting down Windows can
         # interrupt the dump command and corrupt the database.
         outfile = file(path + "~", 'wb')
         db = [self.tags, self.facts, self.cards,
               self.global_variables]
         cPickle.dump(db, outfile)
         outfile.close()
         shutil.move(path + "~", path) # Should be atomic.
     except:
         raise RuntimeError, _("Unable to save file.") \
               + "\n" + traceback_string()
     self.config()["path"] = contract_path(path, self.config().basedir)
     # Work around sip bug again.
     for f in self.facts:
         f.card_type = self.card_type_by_id(f.card_type)
开发者ID:umax,项目名称:pomni,代码行数:28,代码来源:pickle.py


示例20: file_new

 def file_new(self):
     self.stopwatch().pause()
     db = self.database()
     suffix = db.suffix
     filename = self.main_widget().save_file_dialog(\
         path=self.config().basedir, filter=_("Mnemosyne databases") + \
         " (*%s)" % suffix, caption=_("New"))
     if not filename:
         self.stopwatch().unpause()
         return
     if not filename.endswith(suffix):
         filename += suffix
     db.backup()
     db.unload()
     # Confirmation on overwrite has happened in the file dialog code,
     if os.path.exists(filename):
         import shutil
         shutil.rmtree(filename + "_media")
     db.new(filename)
     db.load(self.config()["path"])
     self.log().loaded_database()
     self.review_controller().reset()
     self.review_controller().update_dialog()
     self.update_title()
     self.stopwatch().unpause()
开发者ID:axelson,项目名称:pomni,代码行数:25,代码来源:default_controller.py



注:本文中的mnemosyne.libmnemosyne.translator._函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python utils.expand_path函数代码示例发布时间:2022-05-27
下一篇:
Python libmnemosyne.Mnemosyne类代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap