def get(self):
        try:
            query = f"""SELECT 
                            model_id as value, 
                            name as label
                        FROM 
                            train_models
                        ORDER BY 
                            name"""

            return utils.execute_query(query)

        except:
            traceback.print_exc()
            return {"msg": "Error on GET Phenomenon"}, 500
Beispiel #2
0
    def get_indicators_by_lms(self):
        lms_id = request.get_json()['id']

        query = f"""SELECT 
                        name as value,
                        description as label
                    FROM
                        indicators
                    WHERE 
                        lms='{lms_id}'
                    GROUP BY 
                        name, description, lms
                    ORDER BY
                        name
                    """

        return utils.execute_query(query)
Beispiel #3
0
    def post(self):
        try:
            payload = request.get_json()

            if 'datasource' not in payload:
                return {'msg': 'Datasource not found'}, 500

            query = f"""SELECT 
                            curso as label, 
                            curso as value 
                        FROM {payload['datasource']}
                        GROUP BY curso
                        ORDER BY curso"""

            return utils.execute_query(query)

        except:
            traceback.print_exc()
            return {"msg": "Error on POST Course"}, 500
Beispiel #4
0
    def post(self):
        try:
            where = ''
            payload = request.get_json()

            if 'courses' in payload and len(payload['courses']) > 0:
                courses = utils.list_to_sql_string(payload['courses'])
                where = f"WHERE curso IN ({courses})"

            query = f"""SELECT 
                            nome_da_disciplina as label, 
                            nome_da_disciplina as value 
                        FROM moodle
                        {where}
                        GROUP BY nome_da_disciplina
                        ORDER BY nome_da_disciplina"""

            return utils.execute_query(query)

        except:
            traceback.print_exc()
            return {"msg": "Error on get Subject"}, 500
    def post(self):
        try:
            where = ''
            payload = request.get_json()

            if 'subjects' in payload and len(payload['subjects']) > 0:
                subjects = utils.list_to_sql_string(payload['subjects'])
                where = f"WHERE nome_da_disciplina IN ({subjects})"

            query = f"""SELECT 
                            semestre as label, 
                            semestre as value 
                        FROM moodle
                        {where}
                        GROUP BY semestre
                        ORDER BY semestre"""

            return utils.execute_query(query)

        except:
            traceback.print_exc()
            return {"msg": "Error on GET Semester"}, 500
Beispiel #6
0
    def get_indicators_description_from_lms(self):
        descriptions = {}
        payload = request.get_json()
        lms_id = payload['id']

        query = f"""SELECT
                        name,
                        description
                    FROM
                        indicators
                    WHERE
                        lms='{lms_id}'
                    AND
                        name IN ({utils.list_to_sql_string(payload['indicators'])})
                    GROUP BY
                        name, description, lms
                """

        data = utils.execute_query(query)

        for item in data:
            descriptions[item['name']] = item['description']

        return descriptions
Beispiel #7
0
    def get_initial_dataframe_from_lms(self):
        query_where = ''
        where = 'WHERE'
        fields = "*"
        group_by = ''
        payload = request.get_json()

        if 'indicators' in payload and type(payload['indicators']) == list:
            fields = ", ".join(payload['indicators'])

        if 'courses' in payload and type(payload['courses']) == list and len(payload['courses']) > 0:
            query_where += f"""{where} curso IN ({utils.list_to_sql_string(payload['courses'])}) """
            where = 'AND'

        if 'subjects' in payload and type(payload['subjects']) == list and len(payload['subjects']) > 0:
            query_where += f"""{where} nome_da_disciplina IN ({utils.list_to_sql_string(payload['subjects'])}) """
            where = 'AND'

        if 'semesters' in payload and type(payload['semesters']) == list and len(payload['semesters']) > 0:
            query_where += f"""{where} semestre IN ({utils.list_to_sql_string(payload['semesters'])}) """

        if fields != '*':
            group_by = f"GROUP BY {fields}"

        query = f"""
                    SELECT
                        {fields}
                    FROM
                        {payload['id']}
                        {query_where}
                        {group_by}
                """

        df = utils.execute_query(query=query, mode='pandas')

        return df