Example #1
0
def _test_table(request, traina, trainb, testa, testb):
    con = sqlite3.connect(settings['USERS_DB'].format(session['username'])).cursor()
    traininga = con.execute("SELECT plain_text FROM {}".format(testa)).fetchall()
    trainingb = con.execute("SELECT plain_text FROM {}".format(testb)).fetchall()
    a, b = [], []
    for item in traininga:
        a.append(item[0])
    for item in trainingb:
        b.append(item[0])
    my_list = [(item, 0) for item in a]
    my_list2 = [(item, 1) for item in b]
    my_list.extend(my_list2)
    random.shuffle(my_list)
    train1 = []
    train2 = []
    for item in my_list:
        train1.append(item[0])
        train2.append(item[1])
    x = FileController()
    file = x.fetch_path(session['username'])
    f = open(file + "/{}_{}.pickle".format(traina, trainb), 'rb')
    model = pickle.load(f)
    f.close()
    testcase = TestModel(model, train1, train2)
    print(testcase['plain_text'])
    print(testcase['guess'])
    print(testcase['answer'])
    print(testcase['percent'])
    return render_template('User/results.html', training=testcase)
Example #2
0
def _delete_model(request, model):
    items = model.replace(' VS. ', '_')
    User(session['username']).delete_model(model)
    session['models'] = User(session['username']).fetch_models()
    x = FileController()
    file = x.fetch_path(session['username'])
    os.remove(file+"/{}.pickle".format(items))
    return redirect("/training")
Example #3
0
def _register(request):
    """
    Backend Registration Page

    :POST:      Retrieves form data from Forms/_register.py and creates account upon data validation
    :GET:       Loads Arrival/signup.html rendering blank Forms/_register.py form
    :param      request: POST or GET
    :return:    Arrival/signup.html OR Arrival/login.html
    """
    form = RegistrationForm(request.form)
    data_dict = {}
    if request.method == 'POST' and form.validate():
        data_dict['email'] = form.email.data
        data_dict['username'] = form.username.data
        data_dict['password'] = form.password.data
        data_dict['email'] = form.email.data
        user = CreateUser(data_dict)
        success = user.make_account()
        if not success:
            return render_template('Arrival/signup.html',
                                   form=form,
                                   nameerror="That username is taken")
        else:
            FileController().file_handler(data_dict['username'])
            return redirect("login")
    return render_template('Arrival/signup.html', form=form)
Example #4
0
def _train_table(request, traina, trainb):
    con = sqlite3.connect(settings['USERS_DB'].format(session['username'])).cursor()
    traininga = con.execute("SELECT plain_text FROM {}".format(traina)).fetchall()
    trainingb = con.execute("SELECT plain_text FROM {}".format(trainb)).fetchall()
    a, b = [], []
    for item in traininga:
        a.append(item[0])
    for item in trainingb:
        b.append(item[0])
    my_list = [(item, 0) for item in a]
    my_list2 = [(item, 1) for item in b]
    my_list.extend(my_list2)
    random.shuffle(my_list)
    train1 = []
    train2 = []
    for item in my_list:
        train1.append(item[0])
        train2.append(item[1])
    print(traina, trainb)
    print(train1, train2)
    model = MakeModel(train1, train2, [traina, trainb])
    x = FileController()
    file = x.fetch_path(session['username'])
    f = open(file+"/{}_{}.pickle".format(traina, trainb), 'wb')
    pickle.dump(model, f)
    f.close()
    User(session['username']).create_model("{} VS. {}".format(traina, trainb))
    session['models'] = User(session['username']).fetch_models()
    # f.write('hi')
    # f.close()


    # print(traina, trainb, testa, testb)
    # print("{}/{}v{}".format(x.fetch_path(session['username']), traina, trainb))
    # testlist = [(item, 0) for item in c]
    # testlist2 = [(item, 1) for item in d]
    # testlist.extend(testlist2)
    # print(my_list, testlist)
    return redirect("/training")
Example #5
0
def _register(request):
    form = RegistrationForm(request.form)
    data_dict = {}
    if request.method == 'POST' and form.validate():
        data_dict['email'] = form.email.data
        data_dict['username'] = form.username.data
        data_dict['password'] = form.password.data
        data_dict['email'] = form.email.data
        user = CreateUser(data_dict)
        success = user.make_account()
        if not success:
            return render_template('Arrival/signup.html',
                                   form=form,
                                   nameerror="That username is taken")
        else:
            FileController().file_handler(data_dict['username'])
            return redirect("login")
    return render_template('Arrival/signup.html', form=form)
Example #6
0
def go(Admin, Password):
    file = open('CONFIG.txt', 'a')
    file.close()
    from conf import Config
    manager = Config()
    manager.setup_main_db()
    manager.set_users_db()
    from conf import load_in
    settings = load_in()
    conn = sqlite3.connect(settings['MAIN_DB'])
    conn.execute("CREATE TABLE IF NOT EXISTS {tn} (id INTEGER,"
                 "email TEXT,"
                 "email_verified INTEGER,"
                 "username TEXT,"
                 "password TEXT,"
                 "data_tables TEXT,"
                 "logged_in INTEGER, "
                 "subscribed INTEGER,"
                 "charts TEXT,"
                 "models TEXT,"
                 "groups TEXT,"
                 "first_name TEXT,"
                 "last_name TEXT,"
                 "friends TEXT,"
                 "active INTEGER,"
                 "reset_request INTEGER,"
                 "data_sources TEXT,"
                 "projects TEXT,"
                 "is_authenticated INTEGER,"
                 "PRIMARY KEY (username))".format(tn='users'))
    conn.commit()
    conn.execute("""INSERT INTO users VALUES ('{id}',
                          '{email}',
                          '{email_verified}',
                          '{username}',
                          '{password}',
                          '{data_tables}',
                           {logged_in},
                           {subscribed},
                           '{charts}',
                           '{models}',
                           '{groups}',
                           '{first_name}',
                           '{last_name}',
                           '{friends}',
                           {active},
                           {reset_request},
                           '{data_sources}',
                           '{projects}',
                           {is_authenticated})""".format(
        id=1,
        email='*****@*****.**',
        email_verified=1,
        username=Admin,
        password=make_password(Password),
        data_tables='',
        logged_in=1,
        subscribed=0,
        charts="",
        models="",
        groups="",
        first_name="",
        last_name="",
        friends="",
        active=1,
        reset_request=0,
        data_sources="",
        projects="",
        is_authenticated=0))
    conn.commit()
    conn.close()
    from Manager._FileController import FileController
    FileController().file_handler(Admin)
Example #7
0
 def delete_data(self, table_name):
     FileController().delete_item(self.username, table_name, 'data_table')
Example #8
0
 def fetch_table_list(self):
     return FileController().make_item(self.username, item=None, path_name='data_table', fetch=True)
Example #9
0
 def make_data(self, table_name):
     FileController().make_item(self.username, table_name, 'data_table')
Example #10
0
 def delete_source(self, datasource):
     FileController().delete_item(self.username, datasource, 'data_source')
Example #11
0
 def create_data_source(self, datasource):
     FileController().make_item(self.username, datasource, 'data_source')
Example #12
0
 def create_model(self, model):
     FileController().make_item(self.username, model, 'model')
Example #13
0
 def fetch_models(self):
     return FileController().make_item(self.username,
                                       item=None,
                                       path_name='model',
                                       fetch=True)
Example #14
0
 def delete_model(self, model):
     FileController().delete_item(self.username, model, 'model')