Ejemplo n.º 1
0
    def __init__(self):
        self.glade_file = 'sos_db.glade'

        self.avail_sensor = {
            'x-accel': 4,
            'y-accel': 5,
            'mag-1': 6,
            'mag-2': 7,
            'photo': 1,
            'temp': 2
        }
        self.sensor_query = []
        self.sensor_qualifier = []
        self.result_list = []
        self.qualifier = False
        self.interface = DB_Interface()
        self.interface.setup_output(self.update_result_list)
Ejemplo n.º 2
0
    def __init__(self):
	self.glade_file = 'sos_db.glade'

        self.avail_sensor = { 'x-accel':4, 'y-accel':5, 'mag-1':6, 'mag-2':7, 'photo':1, 'temp':2}
	self.sensor_query = []
	self.sensor_qualifier = []
	self.result_list = []
	self.qualifier = False 
	self.interface = DB_Interface()
	self.interface.setup_output(self.update_result_list)
Ejemplo n.º 3
0
class DB_gui():
    def __init__(self):
        self.glade_file = 'sos_db.glade'

        self.avail_sensor = {
            'x-accel': 4,
            'y-accel': 5,
            'mag-1': 6,
            'mag-2': 7,
            'photo': 1,
            'temp': 2
        }
        self.sensor_query = []
        self.sensor_qualifier = []
        self.result_list = []
        self.qualifier = False
        self.interface = DB_Interface()
        self.interface.setup_output(self.update_result_list)

    def destroy(self, widget, data=None):
        gtk.main_quit()

    def draw_gui(self):
        self.gui = gtk.glade.XML(self.glade_file)
        self.gui.signal_autoconnect(self)

        self.w = self.gui.get_widget

        self.main_window = self.w('main_window')
        self.main_window.connect('delete-event', gtk.main_quit)

        # set up the sensor list
        self.sensor_list_model = gtk.ListStore(str)
        self.sensor_list_view = self.w('sensor_list')
        self.sensor_list_view.set_model(self.sensor_list_model)

        add_column(self.sensor_list_view, 'Sensor      ', 0, expand=False)

        for key in self.avail_sensor.keys():
            print key
            self.sensor_list_model.append([key])

    # set up the query list
        self.query_list_model = gtk.ListStore(str, str)
        self.query_list_view = self.w('query_list')
        self.query_list_view.set_model(self.query_list_model)

        add_column(self.query_list_view, 'Sensor', 0, expand=False)
        add_column(self.query_list_view, 'qual', 1, expand=False)

        #set up the results list
        self.results_list_model = gtk.ListStore(int, int, str, int)
        self.results_list_view = self.w('results_list')
        self.results_list_view.set_model(self.results_list_model)

        add_column(self.results_list_view, 'Qid', 0, expand=False)
        add_column(self.results_list_view, 'remaining', 1, expand=False)
        add_column(self.results_list_view, 'sensor', 2, expand=False)
        add_column(self.results_list_view, 'result', 3, expand=False)

        #set up the inputs for qualifiers
        self.sensor_name = self.w('sensor_name')
        self.comp_value = self.w('comp_value')
        self.qid = self.w('qid_entry')
        self.interval = self.w('interval_entry')
        self.n_samples = self.w('n_sample_entry')

        self.w('less_than_radio').connect('toggled', self.select_comp_op,
                                          LESS_THAN)
        self.w('greater_than_radio').connect('toggled', self.select_comp_op,
                                             GREATER_THAN)
        self.w('equal_radio').connect('toggled', self.select_comp_op, EQUAL)
        self.w('greater_than_equal_radio').connect('toggled',
                                                   self.select_comp_op,
                                                   GREATER_EQUAL_THAN)
        self.w('less_than_equal_radio').connect('toggled', self.select_comp_op,
                                                LESS_EQUAL_THAN)

        self.w('and_radio').connect('toggled', self.select_rel_op, AND)
        self.w('or_radio').connect('toggled', self.select_rel_op, OR)
        self.w('qualifier_check').connect('toggled', self.select_qualifier)

        self.current_comp_op = LESS_THAN
        self.current_rel_op = AND

    def select_qualifier(self, widget, data=None):
        self.qualifier = ~self.qualifier

    def select_comp_op(self, widget, data=None):
        self.current_comp_op = data

    def select_rel_op(self, widget, data=None):
        self.current_rel_op = data

    def create_new_query(self, button=None):
        if len(self.avail_sensor) == 0: return

        ((index, ), cursor) = self.sensor_list_view.get_cursor()
        iter = self.sensor_list_model.get_iter(index)
        (new_sensor, ) = self.sensor_list_model.get(iter, 0)
        self.sensor_name.set_text(new_sensor)

    def add_new_query(self, button=None):
        self.sensor_query.append(
            self.avail_sensor[self.sensor_name.get_text()])
        if self.qualifier != 0:
            print self.current_comp_op
            print self.current_rel_op
            print self.qualifier
            self.sensor_qualifier.append(
                Qualifier(self.avail_sensor[self.sensor_name.get_text()],
                          self.current_comp_op, self.comp_value.get_text(),
                          self.current_rel_op))
        self.refresh_query_list()

    def refresh_query_list(self):
        for val in self.sensor_query:
            self.query_list_model.append([val, 'no'])

    def submit_queries(self, button=None):
        qid = convertStr(self.qid.get_text())
        inter = convertStr(self.interval.get_text())
        n_samp = convertStr(self.n_samples.get_text())

        self.interface.insert_new_query(qid, inter, n_samp, [],
                                        self.sensor_query,
                                        self.sensor_qualifier)

    def update_result_list(self, qid, n_remain, results):
        for k, v in results.items():
            self.result_list.append(qid, n_remain, s, v)
            self.result_list_model.append([qid, n_remain, s, v])
Ejemplo n.º 4
0
class DB_gui():
    def __init__(self):
	self.glade_file = 'sos_db.glade'

        self.avail_sensor = { 'x-accel':4, 'y-accel':5, 'mag-1':6, 'mag-2':7, 'photo':1, 'temp':2}
	self.sensor_query = []
	self.sensor_qualifier = []
	self.result_list = []
	self.qualifier = False 
	self.interface = DB_Interface()
	self.interface.setup_output(self.update_result_list)

    def destroy(self, widget, data=None):
	gtk.main_quit()

    def draw_gui(self):
	self.gui = gtk.glade.XML(self.glade_file)
	self.gui.signal_autoconnect(self)

	self.w = self.gui.get_widget

	self.main_window = self.w('main_window')
	self.main_window.connect('delete-event', gtk.main_quit)

        # set up the sensor list 
	self.sensor_list_model = gtk.ListStore(str)
	self.sensor_list_view = self.w('sensor_list')
	self.sensor_list_view.set_model(self.sensor_list_model)

	add_column(self.sensor_list_view, 'Sensor      ', 0, expand=False)
  
        for key in self.avail_sensor.keys():
	    print key
	    self.sensor_list_model.append([key])

        # set up the query list
	self.query_list_model = gtk.ListStore(str, str)
	self.query_list_view = self.w('query_list')
	self.query_list_view.set_model(self.query_list_model)

	add_column(self.query_list_view, 'Sensor', 0, expand=False)
	add_column(self.query_list_view, 'qual', 1, expand=False)

	#set up the results list
	self.results_list_model = gtk.ListStore(int, int, str, int)
	self.results_list_view = self.w('results_list')
	self.results_list_view.set_model(self.results_list_model)

	add_column(self.results_list_view, 'Qid', 0, expand=False)
	add_column(self.results_list_view, 'remaining', 1, expand=False)
	add_column(self.results_list_view, 'sensor', 2, expand=False)
	add_column(self.results_list_view, 'result', 3, expand=False)

	#set up the inputs for qualifiers
	self.sensor_name = self.w('sensor_name')
	self.comp_value = self.w('comp_value')
	self.qid = self.w('qid_entry')
	self.interval = self.w('interval_entry')
	self.n_samples = self.w('n_sample_entry')

	self.w('less_than_radio').connect('toggled', self.select_comp_op, LESS_THAN)
	self.w('greater_than_radio').connect('toggled', self.select_comp_op, GREATER_THAN)
	self.w('equal_radio').connect('toggled', self.select_comp_op, EQUAL)
	self.w('greater_than_equal_radio').connect('toggled', self.select_comp_op, GREATER_EQUAL_THAN)
	self.w('less_than_equal_radio').connect('toggled', self.select_comp_op, LESS_EQUAL_THAN)

        self.w('and_radio').connect('toggled', self.select_rel_op, AND)
	self.w('or_radio').connect('toggled', self.select_rel_op, OR)
	self.w('qualifier_check').connect('toggled', self.select_qualifier)

	self.current_comp_op = LESS_THAN
	self.current_rel_op = AND

    def select_qualifier(self, widget, data=None):
	self.qualifier = ~self.qualifier

    def select_comp_op(self, widget, data=None):
	self.current_comp_op = data

    def select_rel_op(self, widget, data=None):
	self.current_rel_op = data

    def create_new_query(self, button=None):
	if len(self.avail_sensor) == 0: return

	((index,), cursor) = self.sensor_list_view.get_cursor()
	iter = self.sensor_list_model.get_iter(index)
	(new_sensor,) = self.sensor_list_model.get(iter, 0)
	self.sensor_name.set_text(new_sensor)

    def add_new_query(self, button=None):
	self.sensor_query.append(self.avail_sensor[self.sensor_name.get_text()])
	if self.qualifier != 0:
	  print self.current_comp_op
	  print self.current_rel_op
	  print self.qualifier
	  self.sensor_qualifier.append( Qualifier(self.avail_sensor[self.sensor_name.get_text()], self.current_comp_op, 
	    self.comp_value.get_text(), self.current_rel_op))
	self.refresh_query_list()

    def refresh_query_list(self):
	for val in self.sensor_query:
	    self.query_list_model.append([val, 'no'])

    def submit_queries(self, button=None):
	qid= convertStr(self.qid.get_text())
	inter = convertStr(self.interval.get_text())
	n_samp = convertStr(self.n_samples.get_text())

	self.interface.insert_new_query(qid, inter, n_samp,[], self.sensor_query, self.sensor_qualifier)

    def update_result_list(self, qid, n_remain, results):
	for k, v in results.items():
	    self.result_list.append(qid, n_remain, s, v)
	    self.result_list_model.append([qid, n_remain, s,v])
Ejemplo n.º 5
0
"""
Example dataframe insertion into the MongoDB database
"""

from DB_Interface import DB_Interface
import pandas as pd

password = "******"
dbname = "chatbot_training_db"
ex_dict = {'a': 1, 'b': 2, 'c': 3}
example_df = pd.dataFrame(ex_dict)

interface = DB_Interface("mongodb+srv://user-main:" + password +
                         "@cluster-idchannel.k6c0f.mongodb.net/" + dbname +
                         "?retryWrites=true&w=majority")
interface.add_to_db(dbname, example_df)