Example #1
0
 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()
Example #2
0
 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()
Example #3
0
 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()
Example #4
0
 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()
Example #5
0
 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()
Example #6
0
 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()