Beispiel #1
0
def scrape():
    name = request.form['name']
    website = request.form['webpage']

    flash('The website has been scraped, please find your files below',
          'success')

    files = soup.make_soup(website)
    if files is not None:
        for file in files:
            result = db_session.query(File).filter_by(
                file_address=file).first()
            if result is None:
                temp = File(website=name,
                            file_name=get_file_name(file),
                            file_address=file,
                            date=datetime.now(),
                            hash=get_hash(file))
                db_session.add(temp)
                db_session.commit()
    else:
        flash(
            'There are no Files found on this website. Please check again, and note that only files that have a '
            '".pdf" file ending will be searched', 'warning')
    return redirect(url_for('auth.auth_index'))
Beispiel #2
0
def setup():
    if db_session.query(User).filter_by(username='******').first():
        user = db_session.query(User).filter_by(username='******').first()
        db_session.delete(user)
        db_session.commit()

    if db_session.query(User).filter_by(username='******').first():
        user = db_session.query(User).filter_by(username='******').first()
        db_session.delete(user)
        db_session.commit()

    user1 = User(username='******',
                 password=generate_hash('Neueda2017'),
                 permission=True)
    user2 = User(username='******',
                 password=generate_hash('Neueda2017'),
                 permission=False)
    db_session.add_all({user1, user2})
    db_session.commit()
Beispiel #3
0
def get_data():
    data = []

    files = db_session.query(File).order_by(File.date.desc()).all()

    for file in files:
        data.append((file.id, file.website, file.file_name, file.file_address,
                     datetime.strftime(file.date,
                                       '%d/%b/%Y - %H:%M'), file.hash))

    return data
Beispiel #4
0
def compare_files(fileid):
    file = db_session.query(File).filter_by(id=fileid).first()

    new_hash = get_hash(file.file_address)

    if file.hash is not None:
        if new_hash != file.hash:
            file.hash = new_hash
            file.date = datetime.now()
            db_session.commit()
    else:
        file.hash = new_hash
        db_session.commit()
Beispiel #5
0
def login():
    form = LoginForm(request.form)
    if current_user.is_authenticated is False:
        if request.method == 'POST' and form.validate():
            user = db_session.query(User).filter_by(
                username=form.username.data).first()
            valid_password = verify_password(user.username, form.password.data)
            if user:
                if valid_password:
                    login_user(user)
                    if user.permission:
                        session['User'] = '******'
                        flash('You are logged in as an Admin', 'success')
                    else:
                        session['User'] = '******'
                        flash('You are logged in as a User', 'success')
            return redirect(url_for('auth.auth_index'))
    else:
        return redirect(url_for('auth.auth_index'))
    return render_template('auth/login.html', form=form)
Beispiel #6
0
def verify_password(username, password):
    user = db_session.query(User).filter_by(username=username).first()
    if pbkdf2_sha512.verify(password, user.password):
        return True
Beispiel #7
0
def check_files():
    files = db_session.query(File).all()

    for file in files:
        compare_files(file.id)