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'))
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()
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
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()
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)
def verify_password(username, password): user = db_session.query(User).filter_by(username=username).first() if pbkdf2_sha512.verify(password, user.password): return True
def check_files(): files = db_session.query(File).all() for file in files: compare_files(file.id)