Commit 776d9129 authored by Sarah Abrishami's avatar Sarah Abrishami

updated validation structure

parent 156b2d2a
......@@ -7,6 +7,7 @@ from app.errors import *
import gc
from rulemall.utils.rule_builder import rule_builder
from app import db
from app.models import Validation
def response_message(data=None, status=200):
......@@ -65,9 +66,13 @@ def read_rules():
return rule_builder('app/main/static/rule_config.yml')
def write_validations(df, table_name='test2'):
def write_validations(data):
try:
df.to_sql(table_name, con=db.engine, if_exists='replace', index=False)
data = data.loc[~data['validation']]
obj = []
data.apply(lambda x: obj.append(Validation(rid=x['rid'], rgid=x['rgid'], modified_date=x['modified_date'],
responsible=x['responsible'], created_date=x['created_date'])), axis=1)
db.session.bulk_save_objects(obj)
except Exception as e:
return str(e)
return 'success'
from app.main import main
from app.main.utils.common import response_message, read_data, read_rules, write_validations
from rulemall import RulesGroup
import pandas as pd
from datetime import datetime
@main.route('/validate', methods=['GET', 'POST'])
def validate():
data = read_data()
rules = read_rules()
rs = RulesGroup(data=data, rules=rules)
validation = rs.validate()
result = write_validations(validation, table_name='sample_data')
name, rules = read_rules()
rs = RulesGroup(data=data, name=name)
rs.from_dict(rules)
validation, responsible = rs.validate()
validation = pd.concat([validation.rename('validation'), responsible], axis=1)
validation = validation.reset_index().rename(columns={'index': 'rid'})
# TODO return rule group id
validation['rgid'] = rs.id
validation['created_date'] = datetime.now()
validation['modified_date'] = datetime.now()
result = write_validations(validation)
return response_message(result)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment