def insert_corpora(source_lang, source_text, target_lang, target_text, confidence): # # FIXME: Any better idea? # PUNCTUATION = ".,:;-_+={}[]()<>|'\"`~!@#$%^&*?" if source_text == "" or source_text in PUNCTUATION: return if target_text == "" or target_text in PUNCTUATION: return if source_text == target_text: return corpus = Corpus.query.filter_by( source_lang=source_lang, target_lang=target_lang, source_text=source_text, target_text=target_text ).first() if corpus == None: corpus = Corpus.insert( source_lang=source_lang, target_lang=target_lang, source_text=source_text, target_text=target_text, confidence=confidence, frequency=1, commit=False, ) else: corpus.confidence += confidence corpus.frequency += 1
def corpus_match(): query = request.args.get('q', '') source_lang = request.args.get('sl', None) target_lang = request.args.get('tl', None) matches = Corpus.match(query, source_lang, target_lang) return json.dumps(map(lambda x: x.serialize(), matches))