def create_concordance(self): self.clear_concordance_view() self.concordance = [] self.concordance_filtered = [] self.conc_export_button["state"] = "disabled" if self.conc_start_button["text"] == "Search this corpus": self.conc_cancelled = False self.parent.set_status("Creating concordance ...") self.conc_start_button["text"] = "Abort" self.parent.concordance_frame.start_button["state"] = "disabled" self.conc_index_text["width"] = 6 options = misc.get_tk_vars(self.parent.settings_frame.definition) options.update(misc.get_tk_vars(self.parent.settings_frame.file)) options.update(misc.get_tk_vars(self.parent.settings_frame.concordance)) options.update(misc.get_tk_vars(self.parent.settings_frame.xml)) options["SearchTerm"] = self.parent.concordance_frame.search_var.get() options["Corpus"] = self.name_var.get() self.conc_options = options self.parent.concordance_frame.add_search_term(options["SearchTerm"]) manager = mp.Manager() self.conc_return_shared = manager.list() self.q = mp.Queue() self.conc_job = mp.Process(target=worker_search_files, args=(self.files, options, self.conc_return_shared, self.q,)) self.conc_job.start() self.parent.root.update_idletasks() self.parent.root.after(500, self.check_conc_proc_status) elif self.conc_start_button["text"] == "Abort": self.search_cancelled = True self.parent.set_status("Concordance creation was aborted.", True) self.conc_start_button.configure(text="Search", state="normal") self.parent.root.update_idletasks() self.conc_job.terminate()
def create_concordance(self): self.clear_concordance_view() self.concordance = [] self.concordance_filtered = [] if self.start_button["text"] == "Search all corpora": self.cancelled = False self.export_button["state"] = "disabled" self.filter_button["state"] = "disabled" self.parent.set_status("Creating concordance ...") self.start_button["text"] = "Abort" self.index_text["width"] = 6 options = misc.get_tk_vars(self.parent.settings_frame.definition) options.update(misc.get_tk_vars(self.parent.settings_frame.file)) options.update( misc.get_tk_vars(self.parent.settings_frame.concordance)) options.update(misc.get_tk_vars(self.parent.settings_frame.xml)) options[ "SearchTerm"] = self.parent.concordance_frame.search_var.get() self.options = options self.add_search_term(options["SearchTerm"]) self.pipes = [] self.jobs = [] self.corpora = [] self.shared = [] misc.enable_all_in_frame(self.results_frame) self.q = mp.Queue() for i, corpus in enumerate(self.parent.corpus): corpus_tag = "C{}".format(corpus.name_var.get().replace( " ", "")) self.meta_text["Corpus"].tag_configure(corpus_tag, background=corpus.color) misc.enable_all_in_frame(corpus.conc_results_frame) misc.disable_all_in_frame(corpus.conc_button_frame) options["CorpusIndex"] = i options["Corpus"] = corpus.name_var.get() corpus.conc_options = options manager = mp.Manager() corpus.conc_return_shared = manager.list() job = mp.Process(target=worker_search_files, args=( corpus.files, options, corpus.conc_return_shared, self.q, )) self.jobs.append(job) job.start() self.parent.root.update_idletasks() self.parent.root.after(500, self.check_proc_statuses) elif self.start_button["text"] == "Abort": self.cancelled = True self.parent.set_status("Concordance creation was aborted.", True) self.start_button.configure(text="Search", state="normal") self.parent.root.update_idletasks() for job in self.jobs: job.terminate()
def create_concordance(self): self.clear_concordance_view() self.concordance = [] self.concordance_filtered = [] if self.start_button["text"] == "Search all corpora": self.cancelled = False self.export_button["state"] = "disabled" self.filter_button["state"] = "disabled" self.parent.set_status("Creating concordance ...") self.start_button["text"] = "Abort" self.index_text["width"] = 6 options = misc.get_tk_vars(self.parent.settings_frame.definition) options.update(misc.get_tk_vars(self.parent.settings_frame.file)) options.update(misc.get_tk_vars(self.parent.settings_frame.concordance)) options.update(misc.get_tk_vars(self.parent.settings_frame.xml)) options["SearchTerm"] = self.parent.concordance_frame.search_var.get() self.options = options self.add_search_term(options["SearchTerm"]) self.pipes = [] self.jobs = [] self.corpora = [] self.shared = [] misc.enable_all_in_frame(self.results_frame) self.q = mp.Queue() for i, corpus in enumerate(self.parent.corpus): corpus_tag = "C{}".format(corpus.name_var.get().replace(" ", "")) self.meta_text["Corpus"].tag_configure(corpus_tag, background=corpus.color) misc.enable_all_in_frame(corpus.conc_results_frame) misc.disable_all_in_frame(corpus.conc_button_frame) options["CorpusIndex"] = i options["Corpus"] = corpus.name_var.get() corpus.conc_options = options manager = mp.Manager() corpus.conc_return_shared = manager.list() job = mp.Process(target=worker_search_files, args=(corpus.files, options, corpus.conc_return_shared, self.q,)) self.jobs.append(job) job.start() self.parent.root.update_idletasks() self.parent.root.after(500, self.check_proc_statuses) elif self.start_button["text"] == "Abort": self.cancelled = True self.parent.set_status("Concordance creation was aborted.", True) self.start_button.configure(text="Search", state="normal") self.parent.root.update_idletasks() for job in self.jobs: job.terminate()
def create_concordance(self): self.clear_concordance_view() self.concordance = [] self.concordance_filtered = [] self.conc_export_button["state"] = "disabled" if self.conc_start_button["text"] == "Search this corpus": self.conc_cancelled = False self.parent.set_status("Creating concordance ...") self.conc_start_button["text"] = "Abort" self.parent.concordance_frame.start_button["state"] = "disabled" self.conc_index_text["width"] = 6 options = misc.get_tk_vars(self.parent.settings_frame.definition) options.update(misc.get_tk_vars(self.parent.settings_frame.file)) options.update( misc.get_tk_vars(self.parent.settings_frame.concordance)) options.update(misc.get_tk_vars(self.parent.settings_frame.xml)) options[ "SearchTerm"] = self.parent.concordance_frame.search_var.get() options["Corpus"] = self.name_var.get() self.conc_options = options self.parent.concordance_frame.add_search_term( options["SearchTerm"]) manager = mp.Manager() self.conc_return_shared = manager.list() self.q = mp.Queue() self.conc_job = mp.Process(target=worker_search_files, args=( self.files, options, self.conc_return_shared, self.q, )) self.conc_job.start() self.parent.root.update_idletasks() self.parent.root.after(500, self.check_conc_proc_status) elif self.conc_start_button["text"] == "Abort": self.search_cancelled = True self.parent.set_status("Concordance creation was aborted.", True) self.conc_start_button.configure(text="Search", state="normal") self.parent.root.update_idletasks() self.conc_job.terminate()
def create_concordance(self): self.clear_concordance() self.conc_export_button["state"] = "disabled" self.num_files = len(self.files) options = {} options['Regex'] = self.regex options['ContextLeft'] = self.context_left.get() options['ContextRight'] = self.context_right.get() manager = mp.Manager() self.pipe, worker_pipe = mp.Pipe() self.return_shared = manager.list() self.search_job = mp.Process(target=worker_search_files, args=( self.files, options, self.return_shared, worker_pipe, )) if self.conc_start_button["text"] == "Search corpus": self.set_status("Creating concordance ...") self.c_a_start_btn.configure(text="Abort") options = misc.get_tk_vars(self.conf['Conc']) options.update(dict(self.config.items('General'))) options.update(self.get_tk_vars(self.conf['XML'])) options["SearchTerm"] = str(self.c_a_search_term_combo.get()) search_terms = list(self.c_a_search_term_combo["values"]) if options["SearchTerm"] not in search_terms: search_terms.insert(0, options["SearchTerm"]) self.c_a_search_term_combo["values"] = search_terms corpora = [] for c in self.corpus: corpora.append(c) # == corpora = self.corpus ? self.c_worker_proc = mp.Process(target=conc_worker, args=( corpora, options, self.shared, )) self.c_worker_proc.start() self.root.update() self.root.after(500, self.check_conc_proc_status) elif self.conc_start_button["text"] == "Abort": self.set_status("Concordance creation was aborted.", True) self.conc_start_button.configure(text="Search", state="normal") self.parent.root.update() self.c_worker_proc.terminate()
def create_concordance(self): self.clear_concordance() self.conc_export_button["state"] = "disabled" self.num_files = len(self.files) options = {} options['Regex'] = self.regex options['ContextLeft'] = self.context_left.get() options['ContextRight'] = self.context_right.get() manager = mp.Manager() self.pipe, worker_pipe = mp.Pipe() self.return_shared = manager.list() self.search_job = mp.Process(target=worker_search_files, args=(self.files, options, self.return_shared, worker_pipe,)) if self.conc_start_button["text"] == "Search corpus": self.set_status("Creating concordance ...") self.c_a_start_btn.configure(text="Abort") options = misc.get_tk_vars(self.conf['Conc']) options.update(dict(self.config.items('General'))) options.update(self.get_tk_vars(self.conf['XML'])) options["SearchTerm"] = str(self.c_a_search_term_combo.get()) search_terms = list(self.c_a_search_term_combo["values"]) if options["SearchTerm"] not in search_terms: search_terms.insert(0, options["SearchTerm"]) self.c_a_search_term_combo["values"] = search_terms corpora = [] for c in self.corpus: corpora.append(c) # == corpora = self.corpus ? self.c_worker_proc = mp.Process(target=conc_worker, args=(corpora, options, self.shared,)) self.c_worker_proc.start() self.root.update() self.root.after(500, self.check_conc_proc_status) elif self.conc_start_button["text"] == "Abort": self.set_status("Concordance creation was aborted.", True) self.conc_start_button.configure(text="Search", state="normal") self.parent.root.update() self.c_worker_proc.terminate()