def add_bookmark(user, original_language, original_word, translation_language, translation_word, date, the_context, the_url, the_url_title): url = Url.find(the_url, the_url_title) text = Text(the_context, translation_language, url) if RankedWord.exists(original_word.lower(), original_language): rank1 = UserWord.find_rank(original_word.lower(), original_language) w1 = UserWord(original_word, original_language, rank1) else: w1 = UserWord(original_word, original_language, None) if RankedWord.exists(translation_word.lower(), translation_language): rank2 = UserWord.find_rank(translation_word.lower(), translation_language) w2 = UserWord(translation_word, translation_language, rank2) else: w2 = UserWord(translation_word, translation_language, None) zeeguu.db.session.add(url) zeeguu.db.session.add(text) zeeguu.db.session.add(w1) zeeguu.db.session.add(w2) t1 = Bookmark(w1, w2, user, text, date) zeeguu.db.session.add(t1) zeeguu.db.session.commit() add_probability_to_existing_words_of_user(user, t1, original_language)
def add_bookmark(user, original_language, original_word, translation_language, translation_word, date, the_context, the_url, the_url_title): url = Url.find (the_url, the_url_title) text = Text(the_context, translation_language, url) if RankedWord.exists(original_word.lower(), original_language): rank1 = UserWord.find_rank(original_word.lower(), original_language) w1 = UserWord(original_word, original_language,rank1) else: w1 = UserWord(original_word, original_language,None) if RankedWord.exists(translation_word.lower(), translation_language): rank2 = UserWord.find_rank(translation_word.lower(), translation_language) w2 = UserWord(translation_word, translation_language,rank2) else: w2 = UserWord(translation_word, translation_language,None) zeeguu.db.session.add(url) zeeguu.db.session.add(text) zeeguu.db.session.add(w1) zeeguu.db.session.add(w2) t1= Bookmark(w1,w2, user, text, date) zeeguu.db.session.add(t1) zeeguu.db.session.commit() add_probability_to_existing_words_of_user(user,t1,original_language)
def set_know_word_prob(): zeeguu.app.test_request_context().push() zeeguu.db.session.commit() enc_probs = EncounterBasedProbability.find_all() ex_probs = ExerciseBasedProbability.find_all() for prob in enc_probs: user = prob.user word = prob.ranked_word.word language = prob.ranked_word.language user_word = None if UserWord.exists(word, language): user_word = UserWord.find(word, language) if ExerciseBasedProbability.exists(user, user_word): ex_prob = ExerciseBasedProbability.find(user, user_word) known_word_prob = KnownWordProbability.calculateKnownWordProb(ex_prob.probability, prob.probability) known_word_probability_obj = KnownWordProbability.find(user, user_word, prob.ranked_word, known_word_prob) else: known_word_probability_obj = KnownWordProbability.find(user, None, prob.ranked_word, prob.probability) zeeguu.db.session.add(known_word_probability_obj) zeeguu.db.session.commit() for prob in ex_probs: user = prob.user language = prob.user_word.language word = prob.user_word.word ranked_word = None if RankedWord.exists(word, language): ranked_word = RankedWord.find(word, language) if not EncounterBasedProbability.exists(user, ranked_word): if UserWord.exists(word, language): user_word = UserWord.find(word, language) known_word_probability_obj = KnownWordProbability(user, user_word, ranked_word, prob.probability) zeeguu.db.session.add(known_word_probability_obj) zeeguu.db.session.commit() print "job3"
def set_default_encounter_based_prob(): zeeguu.app.test_request_context().push() zeeguu.db.session.commit() default_probability = 0.5 languages = Language.all() users = User.find_all() for user in users: for lang in languages: marked_words_of_user_in_text = [] words_of_all_bookmarks_content = [] for bookmark in Bookmark.find_by_specific_user(user): if bookmark.origin.language == lang: # bookmark_content_words = re.sub("[^\w]", " ", bookmark.text.content).split() bookmark_content_words = re.findall(r'(?u)\w+', bookmark.text.content) words_of_all_bookmarks_content.extend(bookmark_content_words) marked_words_of_user_in_text.append(bookmark.origin.word) words_known_from_user= [word for word in words_of_all_bookmarks_content if word not in marked_words_of_user_in_text] for word_known in words_known_from_user: if RankedWord.exists(word_known, lang): rank = RankedWord.find(word_known, lang) if EncounterBasedProbability.exists(user, rank): prob = EncounterBasedProbability.find(user,rank, default_probability) prob.not_looked_up_counter +=1 else: prob = EncounterBasedProbability.find(user,rank,default_probability) zeeguu.db.session.add(prob) zeeguu.db.session.commit() print 'job2'
def get_known_words(lang_code): lang_id = Language.find(lang_code) bookmarks = flask.g.user.all_bookmarks() known_words = [] filtered_known_words_from_user = [] filtered_known_words_dict_list = [] for bookmark in bookmarks: if bookmark.check_is_latest_outcome_too_easy(): known_words.append(bookmark.origin.word) for word_known in known_words: if RankedWord.exists(word_known, lang_id): filtered_known_words_from_user.append(word_known) zeeguu.db.session.commit() filtered_known_words_from_user = list(set(filtered_known_words_from_user)) for word in filtered_known_words_from_user: filtered_known_words_dict_list.append({'word': word}) js = json.dumps(filtered_known_words_dict_list) resp = flask.Response(js, status=200, mimetype='application/json') return resp
def get_known_words(lang_code): lang_id = Language.find(lang_code) bookmarks = flask.g.user.all_bookmarks() known_words=[] filtered_known_words_from_user = [] filtered_known_words_dict_list =[] for bookmark in bookmarks: if bookmark.check_is_latest_outcome_too_easy(): known_words.append(bookmark.origin.word) for word_known in known_words: if RankedWord.exists(word_known, lang_id): filtered_known_words_from_user.append(word_known) zeeguu.db.session.commit() filtered_known_words_from_user = list(set(filtered_known_words_from_user)) for word in filtered_known_words_from_user: filtered_known_words_dict_list.append( {'word': word} ) js = json.dumps(filtered_known_words_dict_list) resp = flask.Response(js, status=200, mimetype='application/json') return resp
def set_know_word_prob(): zeeguu.app.test_request_context().push() zeeguu.db.session.commit() enc_probs = EncounterBasedProbability.find_all() ex_probs = ExerciseBasedProbability.find_all() for prob in enc_probs: user = prob.user word = prob.ranked_word.word language = prob.ranked_word.language user_word = None if UserWord.exists(word, language): user_word = UserWord.find(word, language) if ExerciseBasedProbability.exists(user, user_word): ex_prob = ExerciseBasedProbability.find(user, user_word) known_word_prob = KnownWordProbability.calculateKnownWordProb( ex_prob.probability, prob.probability) known_word_probability_obj = KnownWordProbability.find( user, user_word, prob.ranked_word, known_word_prob) else: known_word_probability_obj = KnownWordProbability.find( user, None, prob.ranked_word, prob.probability) zeeguu.db.session.add(known_word_probability_obj) zeeguu.db.session.commit() for prob in ex_probs: user = prob.user language = prob.user_word.language word = prob.user_word.word ranked_word = None if RankedWord.exists(word, language): ranked_word = RankedWord.find(word, language) if not EncounterBasedProbability.exists(user, ranked_word): if UserWord.exists(word, language): user_word = UserWord.find(word, language) known_word_probability_obj = KnownWordProbability( user, user_word, ranked_word, prob.probability) zeeguu.db.session.add(known_word_probability_obj) zeeguu.db.session.commit() print 'job3'