Exemplo n.º 1
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")
Exemplo n.º 2
0
def _delete_datasource(request, item):
    User(session['username']).delete_source(item)
    session['data_sources'] = User(session['username']).fetch_data_list()
    con = sqlite3.connect(settings['MAIN_DB'])
    con.execute("DELETE FROM secrets WHERE username='******'".format(
        session['username']))
    con.execute("DELETE FROM secret_keys WHERE username='******'".format(
        session['username']))
    con.commit()
    con.close()
    return redirect("/datasources")
Exemplo n.º 3
0
def _login(request):
    form = LoginForm(request.form)
    data_dict = {}
    if request.method == 'POST' and form.validate():
        data_dict['username'] = form.username.data
        data_dict['password'] = form.password.data
        user = User(data_dict['username'])
        if user.login_user(data_dict['password']):
            the_dict = user.load_user()
            for items in the_dict.items():
                session[items[0]] = items[1]
            return redirect("/datasets")
    return render_template('Arrival/login.html', form=form)
Exemplo n.º 4
0
def _datasources(request):
    form = TwitterForm(request.form)
    if request.method == 'POST' and form.validate():
        m1 = form.access_token.data
        m2 = form.access_token_secret.data
        m3 = form.consumer_key.data
        m4 = form.consumer_secret.data
        my_list = [
            bytes(m1, 'utf-8'),
            bytes(m2, 'utf-8'),
            bytes(m3, 'utf-8'),
            bytes(m4, 'utf-8')
        ]
        first = Fernet.generate_key()
        second = Fernet.generate_key()
        key1 = Fernet(first)
        key2 = Fernet(second)
        x = MultiFernet([key1, key2])
        token1 = x.encrypt(my_list[0])
        token2 = x.encrypt(my_list[1])
        token3 = x.encrypt(my_list[2])
        token4 = x.encrypt(my_list[3])
        con = sqlite3.connect(settings['MAIN_DB'])
        con.execute("""CREATE TABLE IF NOT EXISTS {tn} (username TEXT,
                               key1 BLOB,
                               key2 BLOB, PRIMARY KEY (username))""".format(
            tn="secret_keys"))
        con.execute("""INSERT INTO secret_keys VALUES (?,?,?)""",
                    (session['username'], first, second))
        con.execute("""CREATE TABLE IF NOT EXISTS {tn} (username TEXT,
                       access_token BLOB,
                       access_token_secret BLOB,
                       consumer_key BLOB,
                       consumer_secret BLOB, PRIMARY KEY (username))""".format(
            tn="secrets"))
        con.execute("""INSERT INTO secrets VALUES (?,?,?,?,?)""",
                    (session['username'], token1, token2, token3, token4))
        con.commit()
        con.close()
        User(session['username']).create_data_source("Twitter")
        session['data_sources'] = User(session['username']).fetch_data_list()
        sources = User(session['username']).fetch_data_list()
        return render_template('User/datasources.html',
                               form=form,
                               sources=sources)
    else:
        sources = User(session['username']).fetch_data_list()
        return render_template('User/datasources.html',
                               form=form,
                               sources=sources)
Exemplo n.º 5
0
def _delete_table(request, item):
    User(session['username']).delete_data(item)
    session['data_tables'] = User(session['username']).fetch_table_list()
    con = sqlite3.connect(settings['MAIN_DB'])
    con.execute("DELETE FROM KeywordTable  WHERE username=? AND table_name=?",
                (session['username'], item))
    con.commit()
    con.close()
    con = sqlite3.connect(settings['USERS_DB'].format(session['username']))
    con.execute("DROP TABLE IF EXISTS {}".format(item))
    con.commit()
    con.close()
    stuff = User(session['username']).load_user()
    session['data_tables'] = stuff['data_tables']
    session['table_count_keywords'] = stuff['table_count_keywords']
    return redirect("/datasets")
Exemplo n.º 6
0
 def load_stuff(lim_type, lim, mylist, the_table, current_session):
     if User(current_session['username']).login_user(password):
         thing = Scraper('track')
         thing.set_limit(lim_type, lim)
         thing.set_languages(['en'])
         thing.search_configure(mylist)
         thing.database_config(current_session['username'], the_table)
         thing.set_keys(
             User(current_session['username']).load_in_keys())
         User(session['username']).make_data(table)
         thing.scrape()
     stuff = User(current_session['username']).load_user()
     current_session['data_tables'] = stuff['data_tables']
     current_session['table_count_keywords'] = stuff[
         'table_count_keywords']
     yield render_template('User/datasets.html',
                           form=form,
                           form2=form2,
                           session=current_session)
Exemplo n.º 7
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")