Esempio n. 1
0
def test_project_learn_not_supported(registry, tmpdir):
    tmpdir.join('doc1.txt').write('doc1')
    tmpdir.join('doc1.tsv').write('<http://example.org/key1>\tkey1')
    tmpdir.join('doc2.txt').write('doc2')
    tmpdir.join('doc2.tsv').write('<http://example.org/key2>\tkey2')
    docdir = annif.corpus.DocumentDirectory(str(tmpdir))

    project = registry.get_project('tfidf-fi')
    with pytest.raises(NotSupportedException):
        project.learn(docdir)
Esempio n. 2
0
def test_project_learn(app, tmpdir):
    tmpdir.join('doc1.txt').write('doc1')
    tmpdir.join('doc1.tsv').write('<http://example.org/key1>\tkey1')
    tmpdir.join('doc2.txt').write('doc2')
    tmpdir.join('doc2.tsv').write('<http://example.org/key2>\tkey2')
    docdir = annif.corpus.DocumentDirectory(str(tmpdir))

    with app.app_context():
        project = annif.project.get_project('dummy-fi')
        project.learn(docdir)
        result = project.suggest('this is some text')
        assert len(result) == 1
        assert result[0].uri == 'http://example.org/key1'
        assert result[0].label == 'key1'
        assert result[0].score == 1.0
Esempio n. 3
0
def test_project_learn(registry, tmpdir):
    tmpdir.join('doc1.txt').write('doc1')
    tmpdir.join('doc1.tsv').write('<http://example.org/key1>\tkey1')
    tmpdir.join('doc2.txt').write('doc2')
    tmpdir.join('doc2.tsv').write('<http://example.org/key2>\tkey2')
    docdir = annif.corpus.DocumentDirectory(str(tmpdir))

    project = registry.get_project('dummy-fi')
    project.learn(docdir)
    result = project.suggest('this is some text')
    assert len(result) == 1
    hits = result.as_list(project.subjects)
    assert hits[0].uri == 'http://example.org/key1'
    assert hits[0].label == 'key1'
    assert hits[0].score == 1.0
Esempio n. 4
0
def learn(project_id, documents):
    """learn from documents and return an empty 204 response if succesful"""

    try:
        project = annif.project.get_project(project_id,
                                            min_access=Access.hidden)
    except ValueError:
        return project_not_found_error(project_id)

    corpus = _documents_to_corpus(documents)

    try:
        project.learn(corpus)
    except AnnifException as err:
        return server_error(err)

    return None, 204