Example #1
0
    def on_run_query(self, widget, data=None):
        # print("Starting search")
        outfile = self.generate_tempresult_path()

        if not self.query_file == "unsaved":
            # temppath = self.generate_tempresult_path()
            self.perform_save_query()
            self.run_query(self.query_file)
        else:
            # Use temporary files
            temppath = self.generate_tempquery_path()
            thequery = self.get_query()

            # Write .q file and run CorpusSearch
            # self.write_file(thequery, temppath)
            self.query_file = temppath
            self.thequery = CSQuery()
            self.perform_save_query()
            self.is_saved = False
            self.set_query_file("unsaved")
            self.thequery = None
            self.run_query(temppath, outfile)

            # Cleanput since those are temporary files
            os.remove(temppath)
Example #2
0
    def __init__(self):

        # also not needed if installed:

        self.load_settings()

        # Configure initial state
        self.is_saved = False

        # Use GTKBuilder to build GUI from corpald.glade
        self.builder = gtk.Builder()
        self.builder.add_from_file("corpald.glade")
        self.builder.connect_signals(self)
        self.window = self.builder.get_object('corpaldwindow')
        self.window.connect("destroy", self.destroy)
        self.window.connect("delete_event", self.delete_event)

        # Fill in various default settings

        query = CSQuery()
        self.populate_gui()

        # Make font vars
        # self.operator = self.builder.get_object("textview_query").get_buffer().create_tag('bold', weight = pango.WEIGHT_BOLD )
        self.operator_style = self.builder.get_object(
            "textview_query").get_buffer().create_tag(
                'operator',
                weight=pango.WEIGHT_BOLD,
                foreground=gtk.gdk.Color('#008'))
        self.keyword_style = self.builder.get_object(
            "textview_query").get_buffer().create_tag(
                'keyword',
                weight=pango.WEIGHT_BOLD,
                foreground=gtk.gdk.Color('#E56717'))
        self.definition_style = self.builder.get_object(
            "textview_query").get_buffer().create_tag(
                'definition',
                weight=pango.WEIGHT_BOLD,
                foreground=gtk.gdk.Color('#800'))
        self.comment_style = self.builder.get_object(
            "textview_results").get_buffer().create_tag(
                'comment', foreground=gtk.gdk.Color('#C68E17'))
        self.text_style = self.builder.get_object(
            "textview_results").get_buffer().create_tag(
                'text', foreground=gtk.gdk.Color('#342D7E'))

        # Show the main window
        self.window.show()
Example #3
0
    def on_open_query(self, widget, data=None):
        # create a new dialog
        dialog = gtk.FileChooserDialog("Open query", None,
                                       gtk.FILE_CHOOSER_ACTION_OPEN,
                                       (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
                                        gtk.STOCK_OPEN, gtk.RESPONSE_OK))
        dialog.set_current_folder(self.get_query_directory())
        if dialog.run() == gtk.RESPONSE_OK:
            filename = dialog.get_filename()
            self.thequery = CSQuery()
            self.thequery.load(filename)
            # print("back in corpald")

            # thequery = self.read_file(filename)
            self.set_query(self.thequery.query.strip())
            self.builder.get_object("entry_root_node").set_text(
                self.thequery.node)
            self.builder.get_object("checkbutton_nodes_only").set_active(
                self.thequery.nodes_only)
            self.builder.get_object("checkbutton_remove_nodes").set_active(
                self.thequery.remove_nodes)
            self.builder.get_object("checkbutton_print_indices").set_active(
                self.thequery.print_indices)
            self.builder.get_object("checkbutton_print_complement").set_active(
                self.thequery.print_complement)
            if self.thequery.definitions:
                self.builder.get_object("filechooserbutton_def").set_filename(
                    self.thequery.definitions)
            else:
                self.builder.get_object("filechooserbutton_def").unselect_all()
            if self.thequery.remark:
                self.builder.get_object("entry_remark").set_text(
                    self.thequery.remark)
            self.is_saved = True
            self.set_query_file(filename)
            self.builder.get_object("button_save_query").set_sensitive(False)
            self.builder.get_object("menuitem_save_query").set_sensitive(False)

            # Clear result box
            self.clear_result()
            #self.builder.get_object("label_resultsframe").set_markup("<b>Results</b>")
            #self.builder.get_object("resultbuffer").set_text("")

        dialog.destroy()
Example #4
0
    def perform_save_query(self):
        # self.write_file(self.get_query(), self.query_file)
        self.thequery = CSQuery()
        self.thequery.query = self.get_query()
        self.thequery.nodes_only = self.builder.get_object(
            "checkbutton_nodes_only").get_active()
        self.thequery.remove_nodes = self.builder.get_object(
            "checkbutton_remove_nodes").get_active()
        self.thequery.print_indices = self.builder.get_object(
            "checkbutton_print_indices").get_active()
        self.thequery.print_complement = self.builder.get_object(
            "checkbutton_print_complement").get_active()
        self.thequery.node = self.builder.get_object(
            "entry_root_node").get_text()
        self.thequery.definitions = self.builder.get_object(
            "filechooserbutton_def").get_filename()
        self.thequery.remark = self.builder.get_object(
            "entry_remark").get_text()

        self.thequery.save(self.query_file)
        self.set_saved(True)
        self.builder.get_object("button_save_query").set_sensitive(False)
        self.builder.get_object("menuitem_save_query").set_sensitive(False)