示例#1
0
def get_profile(student):
    models = csv_test.getModels()

    soma_dev = 0
    dev = 0

    soma_gest = 0
    gest = 0

    soma_infra = 0
    infra = 0

    for disc in student:
        if disc in models["Dev"]:
            soma_dev += float(student[disc].replace(",", "."))
            dev += 1
        elif disc in models["Gest"]:
            soma_gest += float(student[disc].replace(",", "."))
            gest += 1
        elif disc in models["Infra"]:
            soma_infra += float(student[disc].replace(",", "."))
            infra += 1

    media_dev = soma_dev / dev
    media_gest = soma_gest / gest
    media_infra = soma_infra / infra

    return {"Dev" : media_dev, "Gest" : media_gest, "Infra" : media_infra}
示例#2
0
from recommendations import sim_distance, sim_pearson, top_matchs, get_recommendations, get_profile
import csv_test, json, ast
from pymongo import MongoClient

client = MongoClient()
db = client.studentShareTest

csv_test.saveStudents()

studJson = csv_test.getStudents()
modelsJson = csv_test.getModels()

prefs = {stud["registry"] : stud["grades"] for stud in studJson}

db.workData.delete_many({})
for stud in studJson:
	if stud == "_id":
		continue

	workData = {"name" : stud["name"]}
	workData["registry"] = stud["registry"]
	workData["warningSubjects"] = get_recommendations(prefs, stud["registry"], top_match = True)
	workData["recommendedSubjects"] = get_recommendations(prefs, stud["registry"], reverse = True, top_match = True)
	workData["topMatchs"] = top_matchs(prefs, stud["registry"])
	workData["profile"] = get_profile(stud["grades"])
		
	db.workData.insert_one(workData)